4
我想打印出指向它的指針的內容。這是我的代碼:打印指針指向的值(C編程)
int main(){
int* pt = NULL;
*pt = 100;
printf("%d\n",*pt);
return 0;
}
這給了我一個分段錯誤。爲什麼?
我想打印出指向它的指針的內容。這是我的代碼:打印指針指向的值(C編程)
int main(){
int* pt = NULL;
*pt = 100;
printf("%d\n",*pt);
return 0;
}
這給了我一個分段錯誤。爲什麼?
這些行:
int* pt = NULL;
*pt = 100;
被提領一NULL
指針(即您嘗試儲值100
到內存地址NULL
),這將導致未定義behavor。請嘗試:
int i = 0;
int *p = &i;
*p = 100;
因爲您正在嘗試寫入地址NULL。
嘗試:
int main(){
int val = 0;
int* pt = &val;
*pt = 100;
printf("%d\n",*pt);
return 0;
}
當你指向它必須存在的東西。試試'malloc'然後它會存在! –