C语言类型判断
2018-03-13 15:56
281 查看
类型判断:
声明一种类型后,特别是复杂的类型时,判断的方法为:以标识符为起点 先右后左 碰到'()'掉头 所有路径只走一次。
举例分析
int a[10][2]
a为标识符,往右走遇到中括号'[',说明a为数组,对于数组,关心的是数组元素的个数和元素类型,继续往右走可以发现元素个数为10个,类型呢?往右走遇到’[‘,说明类型又是一个数组,同样往右走发现该数组为2个元素,到底后往回走,前面走过的都去掉,发现元素类型为整型。所以a的类型为包含10个元素的数组,每个元素为包含2个整型元素的数组。
int (*a)[10]
a为标识符,往右走遇到’(‘后往回走遇到’*’标明a的类型为指针,对于指针,关心的是指针指向的类型,此时继续走后遇到’(‘再往回走(之前走过的都去掉),遇到’[‘说明指针指向的类型为数组,什么样的数组呢?往下走发现是10个整型元算的数组。所以,a为一个指向包含10个整型元素数组的指针。
int *(*a)[10]
a为指针,指向包含10个元素的数组,而该数组元素为整型指针;
int *(**a)[10]
a为指针,指向一个指针,被指向的指针指向一个包含10个元素的数组,数组元素为整型指针;
int a(char *,int)
a为函数,函数的第一个形参为char型指针第二个为整型,返回值为整型;
int a(char ,int)
a为函数,函数的第一个形参为char型指针第二个为整型,返回值为整型指针;
int (a)(char ,int)
a为指针,指向一个函数,而这个函数的第一个形参为char型指针第二个为整型,返回值为整型;
int (a[10])(char ,int)
a为包含10个元素的数组,数组的元素为指针,指针指向的类型为函数,而这个函数的第一个形参为char型指针第二个为整型,返回值为整型;
相关文章推荐
- 【C语言】判断三角形类型
- C语言:判断三角形的类型
- C语言之Chomsky文法类型判断
- C语言算法实例018:判断三角形的类型
- C语言小程序(一)、判断三角型类型
- c语言简单判断cpu类型
- C语言输入三角形边长判断其类型并输出面积实例代码
- C语言 - 判断键盘输入的类型 并且计数
- C语言小程序(一)、判断三角型类型
- C语言的编译器类型的判断(34)
- C语言——判断存储类型是大端还是小端
- C语言 输入三角形的三边,判断三角形的类型,并输出它的类型和面积
- 判断两个int类型的整数相加,相减是否溢出的C语言代码
- C语言实现三角形类型判断
- C语言实现判断三边形成三角形类型并求面积
- c语言求三角形的面积及判断三角形类型
- C语言判断三角形类型
- 如何判断C语言输入类型正确与否
- 程序猿之---C语言细节16(看了绝对值,编译类型ANSI C和K&R C类型判断,c编译器类型转换bug的细节)