當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > 嵌入式學(xué)習(xí)筆記:數(shù)組指針的使用難點(diǎn)
學(xué)c語言,指針和數(shù)組是比較難的,尤其是數(shù)組指針和指針數(shù)組,在這里給大家分享一下筆記關(guān)于數(shù)組指針的。
1. 字符指針的定義
2. 字符串常量
字符串表示字符串中第一個(gè)字符的地址;
答案:h
:e
字符串常量中的值不能被更改:靜態(tài)存儲(chǔ)區(qū)
3. 數(shù)組名是數(shù)組第一個(gè)元素的首地址,只是c的一個(gè)抽象概念,方便編程操作;并沒有給其分配內(nèi)存空間,來保存地址 !!!!!可以理解為“動(dòng)態(tài)的宏定義”
4. 理解以下的內(nèi)存空間分配
Char * p=”hello”;
Char str[]=”hello”;理解
三個(gè)內(nèi)存空間:
str; 6字節(jié)
p; 4字節(jié)
字符串常量(靜態(tài)存儲(chǔ)區(qū))4字節(jié)
前2個(gè)在程序運(yùn)行時(shí)分配,后面的在編譯時(shí)進(jìn)行分配。
5. Const(保護(hù)源操作數(shù))
最后一個(gè)錯(cuò)誤
6. 字符串的操作:條件‘\0’
7. 注意程序編寫的健壯性。
8. 理解數(shù)組指針的類型
Int a; &a ==== int *
1.理解二維數(shù)組:
1.是1維數(shù)組,長(zhǎng)度為行寬;
2.每個(gè)元素又是1個(gè)數(shù)組。長(zhǎng)度為列寬。
每個(gè)元素又是列數(shù)組的數(shù)組名;
Char arr[3][4];
1. Arr[0],arr[1],arr[2]
2. Char Arr[0][4] arr[0]是數(shù)組名;
Char arr[1][4] arr[1]是數(shù)組名;
3. 注意類型;
Arr[0]=&arr[0][0]; char *
Arr[1]=&arr[1][0]; char *
Arr=&arr[0]; char * [4]
2. 理解1維數(shù)組
Char arr[2]; char (*p) [2];
P=&arr; char *[2];
Arr=&arr[0]; char *;
答案:6
插圖理解:
9. 二維數(shù)組名傳參
同一維數(shù)組一樣以方便操作,同是指針。
形象表示:傳遞的是數(shù)組
函數(shù)里使用數(shù)組的方式對(duì)源數(shù)組操作。
注意傳遞數(shù)組名時(shí)的形參格式。