以下のプログラムは動作します:
int main()
{
char *g[10];
char a[10] = "test";
g[0] = &a[0];
printf("string = %s\n",g[0]);
exit(0);
}
出力: テスト
しかし、これは機能しません:
int main()
{
char t[] = "test";
struct abc
{
char *a[255];
}*p;
p->a[0] = &t[0];
printf("value = %s\n", p->a[0]);
exit(0);
}
出力: セグメンテーション違反
誰かがコードの 2 番目の部分で何が問題なのかを教えてもらえますか? ここに間違って投稿した場合は申し訳ありません。