指針數組
說明
顧名思義,指針數組描述的對象是一個數組,在此前提下,我們可以聯想到字符串數組,整型數組,浮點型數組等。字符串數組指的是數組中的每個元素都是字符,整形、浮點型數組中每個元素都是整形的,浮點型的數字,指針數組中每個元素都是指針(地址)。指針數組是由若干個指針組成的數組,只不過這個數組裏存放的是地址。
定義
int* arr[6]; //int型指針數組
char* arr[4]; //char型指針數組
數組指針
說明
數組指針,首先明確它是一個指針,然後再來談它是什麼類型的。指針包含很多種類型,包括指向那些最基本的數據類型如int,float,char,double等的指針,還有指向那些由基本數據類型組成的字符串、數組、結構的指針。所以說數組指針是一個指向數組的指針。
定義
int (*ptr)[10]; //由於[]的優先級高於*,所以必須添加括號.
char (*ps)[5]
如要將二維數組賦給一指針,應這樣賦值:
int a[3][4];
int (*p)[4]; //該語句是定義一個數組指針,指向含4個元素的一維數組。
p=a; //將該二維數組的首地址賦給p,也就是a[0]或&a[0][0]
p++; //該語句執行過後,也就是p=p+1;p跨過行a[0][]指向了行a[1][]
所以數組指針也稱指向一維數組的指針,亦稱行指針。