嵌入式技术
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);用一句话来概括这个表达式,就是函数指针数组。 怎么样,如果让你自己写,能写出几个?
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !