1. 程式人生 > >C語言指標定義變數方式

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是一個指向函式的指標,該函式有兩個整形引數並返回一個指向函式的指標,返回的函式指標指向有一個整型引數且返回一個整型數的函式。