在C語言中的這行代碼的任何原因會給我一個分段錯誤?因爲它是,狀態是一個結構。在C中訪問一個結構給出了分段錯誤
dec_to_bin(state.mem[ state.program_counter ], mc_binary);
我曾嘗試做課前作業一樣
int program_counter_temp = state.program_counter;
dec_to_bin(state.mem[ program_counter_temp ], mc_binary);
,但它也不起作用。我有這些任務時甚至不會進入主體。
這是國家結構
typedef struct stateStruct {
int pc;
int mem[NUMMEMORY];
int reg[NUMREGS];
int numMemory;
} stateType;
問題不在這裏,你應該提供更多的上下文,因爲現在它只是猜測事情。 – Jack
這是導致段錯誤的行。我試圖刪除它,然後再次添加它。賦值是在for循環中完成的,這是這裏真正缺少的唯一的上下文。 – MrWolvwxyz
你使用過'gdb'嗎? 'state.program_counter'的價值是什麼?什麼是'state.mem'的數組大小? 'dec_to_bin'是一個宏嗎?什麼是'mc_binary'? – jxh