1. const int a
2. int const a
3. const int *a
4. int * const a
5. const int * const a
解析:
1和2是一樣的,a是一個(gè)長整型數(shù)浓瞪。const放置的位置沒有硬性規(guī)定懈玻,一般情況下放在最左邊。
3表示a是一個(gè)指針乾颁,指向常整型涂乌。
4表示a是一個(gè)常指針,指向整型英岭。
5表示a是一個(gè)常指針湾盒,指向常整形。
int *i; // *i 是聲明符巴席, int是聲明說明符
int **i; // **i是聲明符历涝, int是聲明說明符
int &i; // &i 是聲明符, int是聲明說明符
int (*pf)(int); // pf是一個(gè)指針漾唉,指向函數(shù)荧库,返回值是整型
int *f(int i); // f是一個(gè)函數(shù),返回一個(gè)指針赵刑,指向整型
typedef int (*PIFN)(char *); // 返回int型的函數(shù)分衫。
PIFN pifnDispatchArray[7]; // pifnDispatchArray是七個(gè)指針的數(shù)組,指向返回int型的函數(shù)般此。
//復(fù)雜的聲明一個(gè)10個(gè)char類型數(shù)組:
char line[10];
char text[10];
//未復(fù)雜聲明起別名
typedef char Line[10];
Line text, line;
typedef 是為復(fù)雜的聲明 定義一個(gè)簡單的別名
為指向函數(shù)的指針創(chuàng)建別名
typedef void (*PtrToFunc)();
PtrToFunc ptr;
為指向Block的指針創(chuàng)建別名
typedef void (^CallBackBlock)();
CallBackBlock callBack;