- 967 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:05:24 ]
- 構造体の初期化で教えてください。
(1) struct Type x = {.var = NULL}; (2) struct Type *x; x = (struct Type *) malloc(sizeof(struct Type)); x->var = NULL; (3) struct Type *x; x->var = NULL; とあって、(1), (2) だと問題ないのですが、 (3) だと segmentation fault になってしまいます。 どういう理屈からでしょうか? また、構造体を 「*変数名」で宣言したときは、最初に値を設定するときに、 必ず malloc をしてからでないといけないのでしょうか? よろしくお願いします。
|

|