C语言复杂类型声明之指针应用

嵌入式技术

1361人已加入

描述

C语言复杂类型声明,看看你的指针掌握到了什么程度? 用变量a给出下面的定义。

一、一个整型数。 这个最简单:

int a;
  二、一个指向整型数的指针。 这个也不难:
int *a;
  三、一个指向指针的指针,它指向的指针指向一个整型数。 这个听起来有点复杂,其实就是:
int **a;
  指针的指针。   四、一个有10个整型数的数组。 简单:
int a[10];
五、一个有10个指针的数组,每个指针指向一个整型数。 说白了就是指针数组:
int *a[10];
  六、一个指向有10个整型数数组的指针。 首先,它是个指针,必须是:
*a;
  然后,这个指针指向数组,后面再加一个中括号,并且要把 *a 用括号括起来,表示优先级:
(*a)[];
  数组有10个元素,中括号里面写10:
(*a)[10];
  每个元素都是整数,前面写int:
int (*a)[10];
最后两个有点难度,如果你能顺利写出来,简历上起码可以写上熟练掌握C语言。 七、一个指向函数的指针,该函数有一个整型参数并返回一个整型数。 首先,它是一个指针:
*a;
  指向函数,后面加上括号,同时把 *a 括起来表示优先级:
(*a)();
  该函数有个整型参数,括号中写上int:
(*a)(int);
返回值是整数,前面加上int:
int (*a)(int);
八:一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数。 一步一步分析。首先,它是一个数组,a加上中括号:
a[];
  数组有10个元素,中括号里面加上10:
a[10];
  每个元素都是指针,前面加上*:
*a[10];
  指针指向函数,后面加上括号,同时,把前面的整体用括号括起来:
(*a[10])();
  函数有个整型参数,括号里面加上int:
(*a[10])(int);
  函数返回整数,表达式的前面加上int:
int (*a[10])(int);
  用一句话来概括这个表达式,就是函数指针数组。 怎么样,如果让你自己写,能写出几个?

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分