C++ 指針總結

1、指針

就是內存中的一個地址編號 指針變量 指針變量用於存儲地址 指針變量也是一個變量

2、指針間接賦值

一、兩個變量 普通變量 指針變量
二、建立關係 指針變量=&普通變量
三、通過*運算符賦值 *指針變量=值

3、指針大小

在32位操作系統下所有指針類型都是4個字節大小
在64位操作系統下所有指針類型都是8個字節大小

4、野指針 指針變量指向一個未知的空間 操作野指針對應的內存空間可能報錯

空指針 指針變量指向內存編號爲0的空間 #define NULL ((void*)0) 操作空指針對應的內存空會報錯 在程序中用作於條件判斷
萬能指針 void* 可以將所有指針類型賦值給萬能指針 萬能指針一般用作於函數形參

5、const修飾的指針

一、通過指針改變常量的值
二、const修飾的指針類型
三、const修飾的指針變量
四、const修飾指針類型修飾指針變量 常量指針

6、指針和數組

一、指向數組的指針 指針變量[下標] *(指針變量+偏移量)
二、指針運算 跟指針類型 對應的基本類型
三、指針數組 每一個元素都是一個指針 指針數組是一個二維數組模型

7、多級指針

一級指針指向變量的地址
二級指針指向一級指針的地址
三級指針指向二級指針的地址
*三級指針二級指針&一級指針
**三級指針==*二級指針一級指針&變量
***三級指針==**二級指針==*一級指針==變量

8、指針和函數

一、值傳遞和地址傳遞
二、數組作爲函數參數 退化爲指針丟失精度 需要傳遞元素個數
三、指針作爲函數返回值

9、指針和字符串

一、棧區字符串和數據區字符串
二、字符串數組 指針數組模型
三、const修飾的指針 針對於字符串
四、主函數的形參
int argc 表示參數個數
char* argv[] 表示參數內容
五、字符串和指針的應用
字符串查找字符串個數
字符串查找字符個數
字符串反轉和迴文
六、字符串處理函數
strcpy() strncpy() 字符串拷貝
strcat() strncat() 字符串追加
strcmp() strncmp() 字符串比較 0 1 -1
sprintf() sscanf() 字符串格式化
strchr() strstr() 字符串查找 返回值類型爲指針
strtok() 字符串分割 如果找到標誌位用\0替換 會破壞源字符串
atoi() atof() atol() 字符串類型轉換

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章