C語言指標定義變數方式
用變數a給出下面的定義:
1、 一個整型數;
int a;
2、 一個指向整型數的指標;
int *a;
3、 一個指向指標的指標,它指向的指標是指向一個整型數;
int **a;
4、 一個有10個整型數的陣列;
int a[10];
5、 一個有10個指標的陣列,該指標是指向一個整型數的;
int *a[10];
6、 一個指向有10個整型陣列的指標;
int (*a)[10];
7、 一個指向函式的指標,該函式有一個整型引數並返回一個整型數;
int (*a)(int);
8、 一個指向陣列的指標,該陣列有10個指標,每個指標指向一個整型數;
int *(*a)[10];
9、 一個有10個指標的陣列,給指標指向一個函式,該函式有一個整型引數並返回一個整型數;
int (*a[10])(int);
10、 一個指向函式的指標,該函式有一個整型引數並返回一個指向函式的指標,返回的函式指標指向有一個整型引數且返回一個整型數的函式;
int (*(*a)(int))(int);
下面的變數a都代表什麼含義?
1)float(**a)[10];
(2) double*(*a)[10];
(3) double(*a[10])();
(4) int*((*a)[10]);
(5) long(*a)();
(6) int(*(*a)(int,int))(int);
(1)a是一個二級指標,該指標指向一個一級指標,這個一級指標指向一個有10個float型元素的陣列。
(2) a是一個指標,該指標指向一個有10個指標元素的陣列,每個指標元素指向一個double型別的資料。
(3)a是一個有10個元素的陣列,每個元素都是一個函式指標,該函式指標指向一個沒有引數且返回double的函式。
(4)a是一個指標,該指標指向一個有10個指標元素的陣列,每個指標元素指向一個int型別的資料。
(5)a是一個指向函式的指標,該函式沒有引數且返回long。
(6)a是一個指向函式的指標,該函式有兩個整形引數並返回一個指向函式的指標,返回的函式指標指向有一個整型引數且返回一個整型數的函式。