C語言學習之路(1)
學習C語言後我以為我就可以永久的告別單引號了,哎學習還不到一周就碰到了C語言中用單引號的情況,著實一驚。
for(i=0;* (p+i)!='\0';i++)
* (q+i)=* (p+i);
* (q+i)='\0'
剛開始我用的是雙引號
for(i=0;* (p+i)!="\0";i++)
* (q+i)=* (p+i);
* (q+i)="\0"
程序一運行,呵,蹦出個段錯誤,天哪,我學習C語言還不到一周就讓我碰到了段錯誤,我這是造的什麼孽啊,後來左思右想(看了看示例代碼)是引號的原因,改成單引號就好了。
學到兩點:
1、段錯誤簡單理解,就是內存越界了。
2、我的程序之所以會內存越界是因為,雙引號中的字符即所見即所表,“\0” 它就是\0,若是單引號,那‘\0’,表示的就是數組結束標志了。