C语言——声明总结
2018-04-02 11:08
309 查看
int *f();//返回指向int指针的函数。 int (*pf)(); //指向返回int的函数的指针。pf is pointer to function returning int
C语言的声明中分为”类型”和”标识符”,把标识符取出后,剩下就是类型名(基本类型和派生类型,派生类型是由结构体、联合体、数组、函数、指针这些类型本身和有;之所以被叫做派生类是因为他们可以无限的派生出很多派生类型)。
解读C的声明(英语版)
找到标识符(变量名或函数)名称。
从标识符最近的地方开始依照”小括号、数组[ ]、函数()、指针* “的顺序解读。
用of,to,returning连接。
追加最左边的数据类型修饰符。
也可用倒叙中文版。
举例:用英语的方式解读
int (*func_p)(double) //1.找到函数名:func_p func_p is //2.存在小括号(*func_p) func_p is pointer to //3.遇见了函数标识符(*func_p)(double) func_p is pointer to function(double) returning //4.追加数据类型修饰符int func_p is pointer to function(double) returning int //翻译过来就是:func_p是返回int的函数的指针。
举例:用中文的方式解读
int (*func_p)(double) //1.找到函数名:func_p func_p //2.存在小括号(*func_p) func_p是一个指针(此时找到描述func_p的形容词) //3.遇见了函数标识符(*func_p)(double) func_p是一个指向函数的指针(此时找到描述指针的形容词) //4.追加数据类型修饰符int func_p是一个指向返回值是int类型的函数的指针(此时找到描述函数的形容词)
练习:
double (*p)[3];//指向double类型的数组(长度为3)的指针。 double *pp [3];//double类型的指针的数组(长度为3)。 int (*func_table[10])(int a);//指向返回值为int的函数(参数为int)的数组(长度为10)。
相关文章推荐
- C语言中一些数据声明(Data declarations)实例总结
- C语言中标识符声明的几个关键字总结
- c语言 函数声明定义总结
- C语言总结之解读C的声明
- C语言——extern声明的总结
- C语言——extern声明的总结
- 对个帖子的总结:严重声明:C语言中不存在数组的类型!它仅仅是一个概念!
- C语言总结之基本声明
- C语言——extern声明的总结
- c语言3月10日学习总结
- c语言字符串与数组还有指针的总结(1)
- C语言学习 第十次作业总结
- C语言开发总结(二十二)
- C语言sscanf函数的总结
- 黑马程序员-我的第二篇学习日记:C语言中的 if 语句总结
- const限定符声明 - C语言
- C语言复杂的类型声明
- C语言中#define用法总结
- 关于linux中c语言的编译问题的总结
- C语言中常用文件读写命令总结