C语言中的高级声明--《c和指针》摘要
来源:互联网 发布:表格扫描识别软件 编辑:程序博客网 时间:2024/05/21 09:40
分析C语言中的高级声明时,记住三点:
1、用于声明变量的表达式和普通的表达式在求值时所使用的规则相同
2、下标运算符[ ] 和( )的优先级大于*
3、从里往外分解,可以使用替代符号帮助分解
例子:
1、 int (*f) []; int *f[];
前者是指针,指向数组,数组的元素是int
后者是数组,数组的元素是int *指针
2、int f()[]; int f[]();
前者,f()是函数,返回值是int[],声明非法,因为函数返回值只能是标量值,不能是数组
后者,f[] 是数组,数组的元素类型是int () 函数,函数返回值是int,声明非法,因为数组元素长度必须相同,而不同的函数可能具有不同的长度
3、int ( *f [ ] ) ();
[] 优先级比*高,先看f[] ,得知f是数组,再看*,得知数组的元素是指针,指针指向函数,函数返回值是int
这里可用替换的方法帮助分析,如int *f [ ] 和上面的很像
4、int * ( *f [ ] ) ();
5、int *p(int *); int (* p)( int *);
前者是函数声明,函数名p,因为()优先级比*高,所以相当于是(int *) p (int *);
后者是函数指针,指向的函数返回值为int,参数是int *
- C语言中的高级声明--《c和指针》摘要
- C语言中的高级声明--《c和指针》摘要
- C语言中的高级声明--《c和指针》摘要
- C语言中的高级指针
- C声明中的指针
- c语言-高级指针
- C语言--高级指针
- C语言高级指针
- 【C语言】高级指针和字符串特性
- 高级C语言教程-存储器和指针
- 高级C语言教程-指针和存储
- C语言指针高级部分:void指针和数据指针
- C语言中的定义和声明
- C语言中的声明和定义
- C语言中的声明和定义
- C语言中的声明和定义
- C语言函数指针声明
- C语言指针声明探秘
- C++虚继承内存对象模型探讨
- 学习笔记——struts2标签时间转换
- nfs挂载方法及问题解决
- 汉字编码问题
- 1.1 数组-找出无序数组中最大的N个元素的位置
- C语言中的高级声明--《c和指针》摘要
- struts2总结(自己做项目时遇到的问题加上一些网上的资料)
- java中的i++问题
- A suitable candidate
- 迁移Windows 7 的用户文件夹
- Eclipse一些常用的快捷键
- C语言头文件的使用
- 明源地产ERP实施五步法
- Android Gallery添加多帧gif格式