當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > 嵌入式學(xué)習(xí)筆記:指針函數(shù)詳解
嵌入式學(xué)習(xí)筆記:指針函數(shù)詳解
時(shí)間:2018-09-26 來(lái)源:未知
1. 指針:(數(shù)據(jù)類型)
保存地址的數(shù)據(jù)類型;
2. 指針變量:(保存地址的變量)
指向p:保存p的地址
3. 變量的首地址:&變量名;
4. 指針的定義:
類型名 變量名;
類型名 * 變量名;(*表示指針變量);
(指針的計(jì)算=====類型名)
定義:先*,后變量名,后類型名。
Int -3 *-1 p -2 ;
5. 指針?biāo)甲止?jié)(數(shù)據(jù)類型)
在32位系統(tǒng)中,占4個(gè)字節(jié);
6. 指針變量類型:(去掉變量名)
Int * * ppf ;
7. 指針定義結(jié)束后必須初始化,避免野指針;
8. 內(nèi)存空間的訪問(wèn):
直接訪問(wèn):通過(guò)變量名的方式訪問(wèn);
間接訪問(wèn):通過(guò)地址的方式訪問(wèn);
9. 取值運(yùn)算符:*地址;和&是互逆運(yùn)算;
10. 取址運(yùn)算符:&變量名;(首地址)
11. 段錯(cuò)誤:
操作非法的內(nèi)存空間;(操作野指針);
使用系統(tǒng)未經(jīng)分配給自己的內(nèi)存空間;
12. 空指針NULL 宏定義為0
13. 指針初始化:=NULL;
14. *指針變量==等于變量名,而不是內(nèi)存空間存放的常量;
int i=5, *p=&i;
*p=8; //正確,更改i的值。

答案:B.C
B: *p2不建議使用;查看非法內(nèi)存空間;
D: *p2=*p1; 操作(寫)非法內(nèi)存空間;
15. 指針(地址)的運(yùn)算(數(shù)組名的運(yùn)算)
物理地址=絕對(duì)地址+地址偏移
P+i ===== p+i*sizeof(數(shù)據(jù)類型)

16. 數(shù)組元素的指針訪問(wèn):
若P=arr; //p=&arr[0]
則:
*(P+i)==*(arr+i)==arr[i]==p[i]
無(wú)條件:arr[i]=====*(arr+i)

P[2]===*(p+2)==a[7]

17. 數(shù)組編程技巧:(連寫)
int i , *p=&i ;
18. 函數(shù):
返回值類型 函數(shù)名 (形參列表)
函數(shù)的入口: 形參;調(diào)用時(shí)分配內(nèi)存空間)
參數(shù)傳遞:值傳遞;地址傳遞;
參數(shù)傳遞為副本模式,地址傳遞時(shí)若要需要加const
函數(shù)的出口:返回值;副本模式
19. GDB調(diào)試
1. 編譯帶調(diào)試參數(shù)的可執(zhí)行文件。
2. 設(shè)置斷點(diǎn)b 運(yùn)行r
3. next 語(yǔ)句(n) ; step 單步 (s)
4,。退出q;
20. 函數(shù)的聲明
形參變量名可省略;但是定義時(shí)不可缺省。
21. 二維數(shù)組名:(數(shù)組名是一個(gè)指針)

22. 技巧:
元素下標(biāo)【】:隱含有*
華清遠(yuǎn)見(jiàn)90+項(xiàng)目獲批!教育部2021最新協(xié)同育人項(xiàng)目名
華清遠(yuǎn)見(jiàn)榮獲2021騰訊教育“年度口碑影響力職業(yè)教育品
華清遠(yuǎn)見(jiàn)受邀參加2021年武漢民辦高校信息學(xué)科合作聯(lián)盟
溫暖同行共創(chuàng)佳績(jī) 2019華清遠(yuǎn)見(jiàn)北京總部年會(huì)大曝光
助力高校AI人工智能學(xué)科建設(shè) 華清遠(yuǎn)見(jiàn)人工智能師資班
華清遠(yuǎn)見(jiàn)受邀參加四川省物聯(lián)網(wǎng)年會(huì),榮獲優(yōu)秀企業(yè)專家
