VC++ 關於函數指針和指針函數的簡單介紹

例題1:寫成函數指針、函數返回指針、const指針、指向constr的指針、指向const的const指針

	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是一個二級指針,指向的是一個一位數組的指針,數組的元素都是float類型。

(2)gh是一個指針,指向一個一位數組,數組的元素都是double*。

(3)f是數組,f有10個元素,元素都是函數的指針,指向的函數類型是沒有參數且返回double的函數。

(4)b是一個指針,指向一個一位數組,數組的元素都是int*。

(5)fun是一個函數指針

(6)f是一個函數的指針,指向的函數的類型是有兩個int參數並且返回一個函數指針的函數,返回的函數指針指向有個int參數且返回int的函數。

發佈了87 篇原創文章 · 獲贊 14 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章