指標陣列是指標還是陣列呢?
指標陣列是陣列,是乙個存放指標的陣列。
例如:1.int *arr[10];
因為方括號的優先順序高於*的優先順序,所以arr先與方括號結合。
2. char **arr[6]; 這是乙個存放著二級指標的陣列。
陣列指標是陣列的位址。
例如:int (*p)[10];
解釋:因p 先與*結合,說明p是乙個指標變數,指標指向的是乙個大小為10個整形的陣列,所以p是乙個指標,指向乙個陣列,叫陣列指標。
例如:void (*arr1)();
void *arr2();
兩者的區別:首先第乙個arr1先與*號結合,所以arr1是乙個指標,指標指向的是乙個函式,指向的函式無引數,返回值型別為void.
第二個是乙個返回值為void *的乙個函式,所以第乙個是函式指標。
例如:int (*arr[10])();
arr先和結合,所以說明arr是乙個陣列,是int (*)()型別的函式指標。
指向函式指標陣列的指標是乙個指標,指標指向乙個陣列,陣列的元素都是函式指標。
例如:void (*(*arr)[10])(const char *)
函式指標陣列的指標
指標與陣列,指標陣列 陣列指標
int a 10 print n a p,a p a,a print n a 1 p,a 1 p a 1,a 1 a做乙個指標,步長為4,指向乙個元素,a做乙個指標,步長為40,指向乙個維陣列 int b 3 4 print n b p,b p,b p b,b,b print n b 1 p,b 1...
指標陣列與陣列指標
1.指標陣列 指標陣列中每乙個元素都是乙個指標,也既是存放字串的首位址。所以指標陣列適合處理若干個長度不等的字串。定義的一般形式為 型別說明符 指標陣列名 陣列長度 例如 int p 3 宣告乙個陣列,指標陣列p,由3個int型別指標變數元素組成 從運算子的優先順序分析,由於 的優先順序大於 所以p...
指標陣列與陣列指標
呵呵,實在是厭倦了繞口的解釋。指標陣列,故名思義,就是指標的陣列,陣列的元素是指標 陣列指標,同樣,就是直想陣列的指標。簡單舉例說明 int p 2 首先宣告了乙個陣列,陣列的元素是int型的指標。int p 2 宣告了乙個指標,指向了乙個有兩個int元素的陣列。其實這兩種寫法主要是因為運算子的優先...