VC++関数ポインタとポインタ関数についての簡単な紹介
703 ワード
例題1:関数ポインタ、関数戻りポインタ、constポインタ、constrを指すポインタ、constを指すconstポインタと書く
例題2:次の関数宣言は何を表しますか.
(1)defは2次ポインタであり,1ビット配列のポインタを指し,配列の要素はfloatタイプである.
(2)ghはポインタであり、1つの配列を指し、配列の要素はdouble*である.
(3)fは配列であり,fには10個の要素があり,要素はいずれも関数のポインタであり,指す関数タイプはパラメータがなくdoubleを返す関数である.
(4)bはポインタであり、1つの配列を指し、配列の要素はint*である.
(5)funは関数ポインタである
(6)fは1つの関数のポインタであり、指す関数のタイプは2つのintパラメータがあり、1つの関数のポインタを返す関数であり、返される関数のポインタはintパラメータがあり、intを返す関数を指す.
void(*f)();
void* f();
const int*;
int* const;
const int* const;
例題2:次の関数宣言は何を表しますか.
float(**def)[10];//(1)
double *(*gh)[10];//(2)
double(*f[10])();//(3)
int*((*b)[10]);//(4)
long (*fun)(int);//(5)
int(*(*F)(int,int))(int);//(6)
(1)defは2次ポインタであり,1ビット配列のポインタを指し,配列の要素はfloatタイプである.
(2)ghはポインタであり、1つの配列を指し、配列の要素はdouble*である.
(3)fは配列であり,fには10個の要素があり,要素はいずれも関数のポインタであり,指す関数タイプはパラメータがなくdoubleを返す関数である.
(4)bはポインタであり、1つの配列を指し、配列の要素はint*である.
(5)funは関数ポインタである
(6)fは1つの関数のポインタであり、指す関数のタイプは2つのintパラメータがあり、1つの関数のポインタを返す関数であり、返される関数のポインタはintパラメータがあり、intを返す関数を指す.