C言語を学んでいます。誰でも次の結果を理解するのを手伝ってもらえますか:
int main()
{
struct xx
{
int x;
char name[];
};
struct xx *s;
printf("%d",s->x);
printf("%s",s->name);
return 0;
}
出力:- セグメンテーション違反
私は別のコードを書きました:
struct Foo
{
char *pName;
};
int main()
{
struct Foo *obj = malloc(sizeof(struct Foo));
strcpy(obj->pName,"Your Name");
printf("%s", obj->pName);
return 0;
}
output : セグメンテーション違反 (コアダンプ);
セグメンテーション違反が発生するのはなぜですか? コードの何が問題になっていますか? core dumped とはどういう意味ですか?