1. 程式人生 > >會出現段錯誤的幾種情況

會出現段錯誤的幾種情況

(1)、使用了野指標

:char *s ;

strcpy(s,"abcd");  // 錯誤!!--- 會出現不可預知的錯誤,因為這時的s是野指標!---- 編譯會通過,因為編譯器無法察覺野指標,但執行時會段錯誤!

(2)、對試圖對字串常量的內容進行修改

如:char *s = "1234";

strcpy(s,"abcd"); // 錯誤!!,因為s指向的空間是字串常量的空間---- 編譯會通過,但執行時會段錯誤!

而對const變數的值的修改、或是通過常量指標對指向內容的修改只是會報錯而已,並不會段錯誤,(不知道是不是編譯器的問題,不同編譯器的話結果會不會不一樣呢? )