-2
我有一個簡單的程序,如:分配到整數的指針會導致系統崩潰
#include <stdio.h>
int main(void){
*(int*) 1 = 1;
return 0;
}
但爲什麼它給我段錯誤?
我有一個簡單的程序,如:分配到整數的指針會導致系統崩潰
#include <stdio.h>
int main(void){
*(int*) 1 = 1;
return 0;
}
但爲什麼它給我段錯誤?
這很可能會導致大多數系統崩潰。分配
*(int*)1 = 1;
試圖分配1的位置在內存中的地址1.這是非常不確定的行爲,並且在大多數系統中,當你嘗試它的內存保護機制引發錯誤。
您的代碼嘗試寫入地址爲0x01的內存。
當程序嘗試訪問不允許訪問的內存位置時,會發生分段錯誤。
你問是否會導致崩潰?它可能會。 – 2014-08-28 09:07:52
這個任務的主意(目標)是什麼?你的程序試圖寫在一個非常錯誤的地方,所以它必須崩潰。 – Ilya 2014-08-28 09:11:21
我正在嘗試編寫一個程序,該程序可以在不使用任何內置函數的情況下創建一個核心文件。 – 2014-08-28 09:23:05