我有下面這段代碼:賽格故障時或操作
#include <stdio.h>
#include <inttypes.h>
#define PORT_TYPE 0x01000000
main(){
uint32_t port_id = 0x0;
uint32_t *iptr = NULL;
iptr = (uint32_t *) (sizeof(uint32_t));
*iptr = (PORT_TYPE | port_id);
}
它扔我賽格故障。我打算把OR變量都變成32位的值(0x01123456)
爲什麼解引用空指針給你分段錯誤,嗯...... – zubergu 2015-02-05 15:20:02
@zubergu - 對不起,在我看到它之前編輯了問題。 – 2015-02-05 15:31:51
@MartinJames但問題是幾乎相同,除了現在你不是解除引用NULL,你解引用地址4,這仍然是一個veeery壞主意。考慮與我們分享,你想達到的目標,這樣我們就不會接近幫助你。 – zubergu 2015-02-05 15:42:49