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