1. 程式人生 > >每日一題(19)—— 用變數a給出下面的定義

每日一題(19)—— 用變數a給出下面的定義

(a) 一個整型數(An integer) 
(b) 一個指向整型數的指標(A pointer to an integer) 
(c) 一個指向指標的的指標,它指向的指標是指向一個整型數(A pointer to a pointer to an integer) 
(d) 一個有10個整型數的陣列(An array of 10 integers) 
(e) 一個有10個指標的陣列,該指標是指向一個整型數的(An array of 10 pointers to integers) 
(f) 一個指向有10個整型數陣列的指標(A pointer to an array of 10 integers) 
(g) 一個指向函式的指標,該函式有一個整型引數並返回一個整型數(A pointer to a function that takes an integer as an argument and returns an integer) 
(h) 一個有10個指標的陣列,該指標指向一個函式,該函式有一個整型引數並返回一個整型數( An array of ten pointers to functions that take an integer argument and return an integer )


分析:

指標陣列:首先是一個數組,數組裡面的元素都是指標;(儲存指標的陣列)

陣列指標:首先是一個指標,指標指向一個一維陣列;(指向陣列的指標)

函式指標:一定要理解,回撥中經常使用函式指標;

指標函式:就是一個普通函式,只是返回值是指標形式;

(a) int a; // An integer 
(b) int *a; // A pointer to an integer 
(c) int **a; // A pointer to a pointer to an integer 
(d) int a[10]; // An array of 10 integers 
(e) int *a[10]; // An array of 10 pointers to integers 
(f) int (*a)[10]; // A pointer to an array of 10 integers 
(g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer 
(h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer