サーバーからクライアントにポインターの配列を渡しています。ただし、クライアント側では、受信した配列を逆参照するとセグメンテーション違反が発生します。サーバーとクライアントはどちらも OS に対してローカルです。私はポインタで何らかの間違いを犯していて、ポインタの規則に違反していると思います。
コードは次のとおりです。
サーバー.c
struct WinGoku goku,windows,gates;
struct WinGoku *array[3];
array[0] = &goku;
array[1] = &windows;
array[2] = &gates;
send(conSocket, array, sizeof(&array), 0);
Client.c
struct WinGoku **array;
int rec = recv(mySocket, array, 4, 0);
printf("bytes Recieved %d\n", rec);
int i;
for(i = 0; i<3;i++)
{
printf("%s\n",array[i]->test);
}
struct WinGoku
char[50]
でデータをコピーしているもののみが含まれていstrcpy
ます。
送受信は-1を返さないので、データは正常に送受信されています。
私がしている間違いは何ですか?