このガイドを使用して、配列は参照によって渡されると言われました。これは、構造体が次のような場合に当てはまります。
struct Person{
char* name;
int id;
}
しかし、構造体が次のようになっている場合はそうではありません。
struct Person{
char name[20];
int id;
}
seconds 構造体を使用する場合、name
配列は値によってコピーされます。
struct Person p1 = {"John", 1234};
struct Person p2 = p1;
p2.name[0] = 'L';
// p1.name[0] is still 'K'
なぜこうなった?