c 陣列指標 指標陣列 函式指標

2021-09-03 01:20:08 字數 1075 閱讀 5743

優先順序比*高,低於(),根據這個原則去判斷

陣列指標

陣列指標即陣列的指標,是乙個指標,指向乙個陣列;也稱為行指標

int (p)[2] (可以理解為int ()[2]p,但是不能這樣子定義)p是乙個指標,指向乙個陣列,陣列元素是int長度為2

二維陣列可以賦值給陣列指標

int a[3][4];

int (*p)[4];

p=a; //將該二維陣列的首位址賦給p,也就是a[0]或&a[0][0]

p++; //p指向a[1]

指標陣列

指標陣列是乙個陣列,元素為指標

int * p[4](可以理解為int *[2]p,但是不能這樣子定義) 優先順序高,p是乙個長度為4陣列,元素是整型指標

如要將二維陣列賦給一指標陣列(要分別賦值):

int *p[3];

int a[3][4];

p++; //該語句表示p陣列指向下乙個陣列元素。注:此陣列每乙個元素都是乙個指標

for(i=0;i<3;i++)

p[i]=a[i]

「陣列名被改寫成乙個指標引數」規則並不是遞迴定義的。陣列的陣列會被改寫成「陣列的指標」,而不是「指標的指標」:

實參 所匹配的形參

陣列的陣列 char c[8][10]; char (*)[10]; 陣列指標

指標陣列 char *c[10]; char **c; 指標的指標

陣列指標(行指標) char (*c)[10]; char (*c)[10]; 不改變

指標的指標 char **c; char **c; 不改變

函式指標

函式指標就是函式的指標。它是乙個指標,指向乙個函式。

char * (fun)(char * p1,char * p2)

可以理解為( char * ()(char * p1,char * p2)fun) 

參考陣列指標 int (*)[10] p int (*p)[10]

fun乙個指標,它指向乙個函式。這個函式有兩個指標型別的引數,函式的返回值也是乙個指標

指標陣列 陣列指標 函式指標 函式指標陣列

陣列指標 指向陣列的指標,是乙個指標,其指向的型別是陣列 指標陣列 元素為指標的陣列,是乙個陣列,其中的元素為指標。例如 int a 5 這個是陣列指標。int a 5 這個是指標陣列。定義函式指標型別 int max int,int typedef int fun ptr int,int 申明變數...

指標陣列,陣列指標,指標函式,函式指標

int p 4 指標陣列。是個有4個元素的陣列,每個元素的是指向整型的指標。int p 4 陣列指標。它是乙個指標,指向有4個整型元素的陣列。int func void 指標函式。無參函式,返回整型指標。int func void 表示函式指標,可以指向無參,且返回值為整型指標的函式。右左規則 因為...

陣列指標,指標陣列,函式指標,指標函式

陣列指標,指標陣列,函式指標,指標函式 指標 變數,存放變數的位址。例 int ptr,ptr是乙個指向整形變數的指標 陣列 例 int a 10 定義了乙個具有10個元素的一維陣列,其中陣列的每個元素是乙個int型別。陣列指標 陣列首元素位址的指標,即是指向陣列的指標。例 int ptr 10 c...