C語言深度剖析筆記(三)

2021-09-02 19:57:24 字數 465 閱讀 7853

32位系統下

int a[5];

以指標形式訪問指標和以下標形式訪問指標 char *p = 「abcdefg」

以指標形式訪問陣列和以下標形式訪問陣列char a = 「123456」

乙個型別為t的指標的移動,以sizeof(t)為移動單位。

指標陣列:陣列元素全為指標,陣列佔多少位元組由陣列本身決定。

陣列指標:指向陣列的指標,32位系統下永遠是4位元組。

int p1[10]:指標陣列(優先順序高於*)

int (*p2)[10]:陣列指標

常見記憶體錯誤:

指標沒有指向一塊合法記憶體

結構體成員指標未初始化

沒有為結構體分配足夠的記憶體

為指標分配的記憶體太小

記憶體分配成功,但未初始化

記憶體越界

記憶體洩漏

記憶體已釋放,但繼續通過指標來使用

風格

《C語言深度剖析》筆記

c語言深度剖析 筆記 1.在c語言中,凡不加返回值型別限定的函式,就會被編譯器作為返 回整形處理。2.register 變數必須是乙個單個的值,並且其長度應小於或等於整型 的長度。而且 register 變數可能不存放在記憶體中,所以不能用取 址運算子 來獲取 register變數的位址。3.int...

C語言深度剖析筆記

1.變數定義 所謂的定義就是 編譯器 建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名或物件名。2.變數宣告 1.告訴編譯器,這個名字已經匹配到一塊記憶體上了,下面的 用到變數或物件是在別的地方定義的。宣告可以出現多次。2.告訴編譯器,這個名字已被預訂了,別...

C語言深度剖析筆記(二)

系統大小端模式檢測 include int checksystem t t.a 0x12345678 return t.c 0x78 int main define是編譯預處理指令,在編譯預處理時換,不作正確性檢查,不論是否正確只進行帶入替換,只有在編譯已被展開的源程式時才會發現可能的錯誤並報錯。2...