#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;
}
構造体の配列を関数に渡そうとしています。関数内の構造体メンバーの値を、値ではなく参照で変更する必要があります。関数が呼び出された後に結果を出力する何らかの奇妙な理由のため、値は関数呼び出しの前と同じままです。構造体の配列を参照によって関数に渡すにはどうすればよいですか?
は、それは次のようになります「changeValues(項目);」 ? –
ありがとうございます。最高の答え。私のプログラムは働いており、時間通りに課題を提出しました。 –