c語言的各種聲明
int *f; //聲明一個指針變量
int *f,g; //聲明一個指針變量f和一個整形變量g
int f(); //聲明一個函數(shù),返回整形數(shù)值
int (*f)(); //聲明一個函數(shù)指針,f是指針變量,返回int型
int *f(); //聲明一個指針函數(shù),f是函數(shù),該函數(shù)返回int行指針
int *(*f)(); //聲明一個函數(shù)的指針,也可以說是一個只想函數(shù)地址變量,f為指針變量,只想這個函數(shù),返回int型指針
int f[]; //聲明一個數(shù)組,
int *f[]; //聲明一個數(shù)組指針,f為1個數(shù)組,數(shù)組里的數(shù)據(jù)存儲的都是執(zhí)行int型數(shù)據(jù)的指針。
int (*f[])(); //聲明一個函數(shù)指針數(shù)組,f是一個數(shù)組,數(shù)組里存儲的數(shù)據(jù)都是指向一個函數(shù)的指針,這個指針指向的函數(shù)返回int型數(shù)據(jù)
int *(*f[])(); //聲明一個函數(shù)指針數(shù)組,f是一個數(shù)組,數(shù)組里存儲的數(shù)據(jù)都是指向一個函數(shù)的指針,這個指向的函數(shù)返回int型指針數(shù)據(jù)(返回指向int數(shù)據(jù)的地址)
struct A
{
char a1;
int a2;
}; //聲明一個沒有名字的結構體
struct A f; //聲明一個結構變量f
typedef B
{
int b1;
char b2;
}b; //聲明一個命為b的結構
b f; //聲明一個結構變量f
評論