当被调用函数用局部于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的写法都不对。