構造体ポインタが常にnil
デフォルトで初期化されるというこの問題が発生しています。以下は私のコードです。
#include <stdio.h>
struct SomeStruct {
int x;
};
int main()
{
int array[2]; // If I change this to 1, the code works fine
struct SomeStruct *ptr;
printf("%p\n", ptr); // always prints "nil"
}
誰かがここで何が起こっているのか説明してもらえますか?具体的には、配列のサイズを1に変更すると、コードが正常に実行されるのはなぜですか。
上記はいくつかのより大きなコードの一部であり、私はこれに問題を単純化することができました。後で使用する必要がありますptr
が、そのままセグメンテーション違反が発生しnil
ます。