嵌入式學習筆記:數組指針的使用難點
時(shi)間:2018-09-17 來源:未知
學(xue)c語言,指(zhi)針和數(shu)組是比(bi)較難的,尤其是數(shu)組指(zhi)針和指(zhi)針數(shu)組,在這里給大家分享一下(xia)筆記(ji)關于數(shu)組指(zhi)針的。
1. 字符指針的定義

2. 字符串常(chang)量
字(zi)符串表(biao)示字(zi)符串中第一(yi)個字(zi)符的(de)地(di)址;

答案:h
:e
字符(fu)串常(chang)量中(zhong)的值(zhi)不能被更改:靜(jing)態存儲區
3. 數(shu)組名是數(shu)組第一個(ge)元素的首地(di)址,只是c的一個(ge)抽(chou)象概念,方便(bian)編程操作(zuo);并沒有給其分配內存空間,來保(bao)存地(di)址 !!!!!可以理(li)解(jie)為“動態的宏定義(yi)”
4. 理解以下的內存空間分配
Char * p=”hello”;
Char str[]=”hello”;理解

三個內存空間(jian):
str; 6字(zi)節
p; 4字節
字(zi)符串常量(靜態存(cun)儲區(qu))4字(zi)節(jie)
前2個在程序運行(xing)時分配,后面的在編譯時進行(xing)分配。
5. Const(保護源(yuan)操作數)
最后一個錯誤

6. 字符串(chuan)的(de)操作(zuo):條件‘\0’
7. 注意(yi)程序編寫(xie)的健(jian)壯性。
8. 理解數組指針的類型(xing)
Int a; &a ==== int *
1.理解二維數(shu)組:
1.是1維數組(zu),長度為行寬;
2.每個元素又是1個數組(zu)。長度為列寬。
每(mei)個元(yuan)素又是列數(shu)組的數(shu)組名;
Char arr[3][4];
1. Arr[0],arr[1],arr[2]
2. Char Arr[0][4] arr[0]是數組名;
Char arr[1][4] arr[1]是數組名(ming);
3. 注意類型;
Arr[0]=&arr[0][0]; char *
Arr[1]=&arr[1][0]; char *
Arr=&arr[0]; char * [4]
2. 理解1維(wei)數(shu)組
Char arr[2]; char (*p) [2];
P=&arr; char *[2];
Arr=&arr[0]; char *;

答案:6
插圖理解:





9. 二維數組名(ming)傳參

同(tong)一(yi)維數組一(yi)樣以(yi)方便(bian)操作(zuo),同(tong)是(shi)指(zhi)針。
形象表示:傳遞的是數(shu)組
函(han)數(shu)里(li)使用數(shu)組的方式對源數(shu)組操(cao)作。
注意傳遞數組(zu)名時的形參格式(shi)。

