whyyouhitme_ 2018-04-24 04:09 采纳率: 57.1%
浏览 706
已采纳

把外部变量局部于main函数内遇到了问题

当被调用函数用局部于main函数内的变量作为参数时。出现了问题。因为被调用函数的作用是改变参数的值,所以考虑用指针作为参数。但是struct part q【】(之前是外部变量)是一个存放结构的数组。(结构包含商品的编号,名称,数量三项元素)所以,指向数组元素(结构)的指针怎么声明?当我想要逐项添加或修改结构的三个内容时,又改怎么写?以下是“插入商品”的函数。
void insert(struct part *q,int n)//两个参数是被要求局部于main函数中的外部变量
{
int i=0,part_number;
if(n==MAX_PARTS){
printf("Database is full;can't add more parts.\n");
return;
}
printf("Enter part number:");
scanf("%d",&part_number);
if(find_part(part_number,q,n)>=0){
printf("Part already exists.\n");
return;
}
*q.number=part_number;
printf("Enter part name:");
read_line(*q.name,NAME_LEN);
printf("Enter quantity on hand:");
scanf("%d",*q.on_hand);
n++;
}

*q.number和q[n].number的写法都不对。

  • 写回答

9条回答 默认 最新

  • devmiao 2018-04-24 04:29
    关注

    #include

    typedef struct
    {
    int x;
    } *A;

    void foo(A* a)
    {
    printf("%d", a[0]->x);
    }

    int main()
    {
    A a[2];
    a[0]->x = 123;
    foo(a);
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗