C陷阱總結

2021-10-02 16:54:52 字數 287 閱讀 1135

printf和scanf函式的格式字串中的轉換說明個數,型別與後面的引數個數和型別是否匹配,編譯器不檢查。

遞增遞減指標時,編譯器並不會檢查指標是否仍然指向陣列元素,c只會保證指向陣列所有元素的指標,以及指向陣列最後乙個元素後面的第乙個位置的指標有效。 所以這些有效指標是可以解引用的,但是如果解引用陣列最後乙個元素後面的第乙個位置的指標,則發生了指標越界。

編譯器不檢查陣列下標是否有效。

剛親自實驗發現的:如果用非const指標指向const限制的陣列,仍然可以通過這個指標改變陣列的元素的值!!!編譯器不會發現

C語言常見陷阱總結

1.1 char array1 100 2 char array2 二者都可以當指標用,使用時有何區別?1中字元陣列,儲存於棧區,sizeof array1 為100,aray1代表首元素首位址,不可以被賦值,array1 0 這樣可以被賦值,陣列大小確定,難以擴容 2中儲存於字元常量區,sizeo...

c語言語法陷阱總結

學習c語言也有一段時間了,關於語法上的錯誤,現在基本上也沒犯過,不過,我還是想小結一下。運算優先順序的問題,其實在背乘法表,的時候就已經開始接觸了。那時候我們知道在加減乘除的混合運算中,先算乘除,再算加減,如果遇到括號,先算括號裡的內容,這就是優先順序問題。那麼在 c語言中,我們也有很多運算,有運算...

c陷阱與缺陷 陷阱

例1 if x y break 這就話的意思就是把y賦值x,判斷x是否為0,實則是在判斷y是否為0 例2 while c c t c n 這句話的意思就是 c t c n 賦值給c,而有 符本身就是不為0的數,所以這就是while 1 的意思。例3 int x 4,p new int p 2 cou...