當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > c語(yǔ)言指針詳解(知識(shí)點(diǎn)都有),不得不看
很多人覺(jué)得指針的學(xué)習(xí)很難,不容易懂,而且還迷茫的不行,今天我們就來(lái)看看學(xué)霸是怎么在課堂上學(xué)習(xí)的。
1、什么是指針?指針數(shù)據(jù)類型的作用?
指針是保存地址的數(shù)據(jù)類型;在不影響理解的情況下,有時(shí)對(duì)地址、指針和指針變量不區(qū)分,統(tǒng)稱指針
1. *指針 所取得的字節(jié)數(shù)
2. 指針運(yùn)算 指針+1 <===> 移動(dòng)它所指向數(shù)據(jù)類型的字節(jié)數(shù)
2、什么是指針變量?
指針變量是用來(lái)保存地址的變量; 3、指針變量的定義
<存儲(chǔ)類型> <數(shù)據(jù)類型> * 指針變量名;存儲(chǔ)類型默認(rèn)為auto; 4、指針的作用
間接操作內(nèi)存
當(dāng)需要函數(shù)的返回值個(gè)數(shù)大于一時(shí),可使用指針5、所有的指針在內(nèi)存中都占有四個(gè)字節(jié);sizeof(指針變量)==4;
6、*在C語(yǔ)言中的三種用法
(1) 、雙目運(yùn)算符 4*5=20
(2) 、在定義變量時(shí),*表示指針這種數(shù)據(jù)類型;
(3) 、作為單目運(yùn)算符,*取值運(yùn)算符;
7、定義一個(gè)基本類型的變量i,訪問(wèn)i的方式有兩種:直接訪問(wèn):通過(guò)變量名的方式去訪問(wèn);
間接訪問(wèn):通過(guò)空間的首地址來(lái)訪問(wèn);
8、如果你想通過(guò)一個(gè)函數(shù)改變另外一個(gè)函數(shù)中的變量值,那么你可以將該變量的地址傳過(guò)去進(jìn)行改變;
9、將一個(gè)數(shù)組的首地址賦值給數(shù)組指針
指針變量名=&數(shù)組名[0]; 指針變量名=數(shù)組名;
10、指針的運(yùn)算
對(duì)于不同數(shù)據(jù)類型的兩個(gè)指針實(shí)行加減法運(yùn)算是無(wú)意義的; 指針+n <===> 指針+n*sizeof(指針?biāo)赶虻臄?shù)據(jù)類型)
指針-n <===> 指針-n*sizeof(指針?biāo)赶虻臄?shù)據(jù)類型)數(shù)組名+n<===>指針+n<===>&數(shù)組名[n]<===>&指針[n];
*(數(shù)組名+n)<===>*(指針+n)<===>數(shù)組名[n]<===>指針[n];
*指針變量名<===>數(shù)組[0];
11、對(duì)于一個(gè)數(shù)組,不能數(shù)組名(地址常量)自加一(數(shù)組名++)是錯(cuò)誤的!
12、數(shù)組作為形參時(shí),他只是一個(gè)指針而已
13、注意Makefile文件的編輯;
14、注意使用gedit;
15、發(fā)生段錯(cuò)誤表示可能操作了空指針或野指針;
16、NULL是一個(gè)保留地址,不可讀,不可寫; 指針指向常量 指針就不可被修改
指針指向變量 指針就可被修改
17、指針數(shù)組
18、函數(shù)指針
19、 函數(shù)指針數(shù)組