陣列指標 函式指標語法梳理

2021-08-18 00:00:35 字數 1296 閱讀 3614

int   *a[10]   :陣列指標。陣列a裡存放的是10個int型指標

int (*a)[10] :a是指標,指向乙個陣列。此陣列有10個int型元素

int *a[10]

先找到宣告符a,然後向右看,有說明a是個陣列,再向左看,是int *,說明陣列中的每個元素是int *。所以這是乙個存放int指標的陣列。

int(*a)[10]

先找到宣告符a,被括號括著,先看括號內的(優先順序高),然後向右看,沒有,向左看,是*,說明s是個指標,什麼指標?在看括號外面的,先向右看,有 是個陣列,說明a是個志向陣列的指標,再向左看,是int,說明陣列的每個元素是int。所以,這是乙個指向存放int的陣列的指標。

例int *p[10];

int (*q)[10];

printf( "*p[10]: %d\n ", sizeof(p));

printf( "(*q)[10]: %d\n ", sizeof(q));

結果是:

*p[10]: 40 //說明p是乙個陣列名

(*q)[10]: 4 //說明q是乙個指標

結論:1.myarray相當於 a[10]。

#define  _crt_secure_no_warnings 

#include #include #include void main01()

printf("hello...\n");

system("pause");

return;

}//函式指標語法梳理

//1 如何定義乙個函式型別

//2 如何定義乙個函式指標型別

//3 如何定義乙個 函式指標 (指向乙個函式的入口位址)

int add(int a, int b)

void main()

//定義乙個函式指標型別

//函式指標

system("pause");

}

陣列指標語法梳理

include include include using namespace std 陣列型別基本語法知識梳理 void main int a 10 a代表的是陣列首元素的位址,a代表的是整個陣列的位址 a 1步長是4 a 1步長是40 定義乙個陣列型別 typedef int myarray 1...

函式指標語法梳理

include include include using namespace std 函式指標語法梳理 1 如何定義乙個函式型別 2 如何定義乙個函式指標型別 3 如何定義乙個函式指標 指向乙個函式的入口位址 int add int a,int b void main add 1,2 直接呼叫 函...

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

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