C语言指针定义变量方式
用變量a給出下面的定義:
1、? 一個整型數(shù);
int?a;
?
2、? 一個指向整型數(shù)的指針;
int?*a;
?
3、? 一個指向指針的指針,它指向的指針是指向一個整型數(shù);
int?**a;
?
4、? 一個有10個整型數(shù)的數(shù)組;
int?a[10];
?
5、? 一個有10個指針的數(shù)組,該指針是指向一個整型數(shù)的;
int *a[10];
?
6、? 一個指向有10個整型數(shù)組的指針;
int?(*a)[10];
?
7、? 一個指向函數(shù)的指針,該函數(shù)有一個整型參數(shù)并返回一個整型數(shù);
int?(*a)(int);
?
8、? 一個指向數(shù)組的指針,該數(shù)組有10個指針,每個指針指向一個整型數(shù);
int?*(*a)[10];
?
9、? 一個有10個指針的數(shù)組,給指針指向一個函數(shù),該函數(shù)有一個整型參數(shù)并返回一個整型數(shù);
int?(*a[10])(int);
?
10、???????? 一個指向函數(shù)的指針,該函數(shù)有一個整型參數(shù)并返回一個指向函數(shù)的指針,返回的函數(shù)指針指向有一個整型參數(shù)且返回一個整型數(shù)的函數(shù);
int?(*(*a)(int))(int);
?
下面的變量a都代表什么含義??
1)float(**a)[10];?
(2) double*(*a)[10];?
(3) double(*a[10])();?
(4) int*((*a)[10]);?
(5) long(*a)();?
(6) int(*(*a)(int,int))(int);
?
(1)a是一個二級指針,該指針指向一個一級指針,這個一級指針指向一個有10個float型元素的數(shù)組。?
(2) a是一個指針,該指針指向一個有10個指針元素的數(shù)組,每個指針元素指向一個double類型的數(shù)據(jù)。?
(3)a是一個有10個元素的數(shù)組,每個元素都是一個函數(shù)指針,該函數(shù)指針指向一個沒有參數(shù)且返回double的函數(shù)。?
(4)a是一個指針,該指針指向一個有10個指針元素的數(shù)組,每個指針元素指向一個int類型的數(shù)據(jù)。?
(5)a是一個指向函數(shù)的指針,該函數(shù)沒有參數(shù)且返回long。?
(6)a是一個指向函數(shù)的指針,該函數(shù)有兩個整形參數(shù)并返回一個指向函數(shù)的指針,返回的函數(shù)指針指向有一個整型參數(shù)且返回一個整型數(shù)的函數(shù)。?
總結
以上是生活随笔為你收集整理的C语言指针定义变量方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 切记!职场邮件需注意的细节
- 下一篇: OpenCL、OpenGL 同时工作