#include<stdio.h>
#define NUMBER_OF_CHARS 256
typedef struct Frequency Frequency;
struct Frequency {
// Frequency value:
int v;
};
typedef struct Context Context;
struct Context {
Frequency table[NUMBER_OF_CHARS];
};
int main(){
Context* x;
(x->table[0]).v=10;
//printf("%d\n",(x->table[0]).v);
}
如果我註釋掉printf,我運行該程序,然後出現分段錯誤;如果我用printf運行程序,那麼我將得到值10.爲什麼它發生?爲什麼printf有助於防止以下代碼中出現分段錯誤?
你用' - 上未初始化的指針 –
訪問一個未初始化的指針>'是不確定的行爲。什麼事情都可能發生。 – Ari0nhh
以上內容應理解爲:**任何** *都可能發生。 – user2864740