【发布时间】:2016-11-06 05:09:00
【问题描述】:
#include <stdio.h>
void changeValues(struct ITEM *item[]);
struct ITEM
{
int number;
};
int main(void)
{
struct ITEM items[10];
for (int i = 0; i < 10; i++)
{
items[i].number = i;//initialize
printf("BEFORE:: %d\n", items[i].number);
}
changeValues(items);
for (int i = 0; i < 10; i++)
{
items[i].number = i;
printf("AFTER:: %d\n", items[i].number);
}
return 0;
}
void changeValues(struct ITEM *item[])
{
for (int i = 0; i < 10; i++)
item[i] -> number += 5;
}
我正在尝试将结构数组传递给函数。我需要通过引用而不是值来更改函数内结构成员的值。由于某些奇怪的原因,当我在调用函数后打印结果时,值保持与函数调用之前相同。
【问题讨论】:
标签: c function structure pass-by-reference