指针高级
2013-10-23 20:30
281 查看
int *f();
()函数调用操作符优先级高于间接访问操作符*
返回一个整形指针的函数
int (* f)();
第一个括号起到聚组的作用,第二个括号是函数调用操作符,使第一个括号先执行
函数指针
int *(* f)()
与上面的相同是一个函数指针,返回值是一个整形指针
int f[]
[]与()的优先级相同
整形数组
int *f[]
元素类型指向整形指针的数组
int f()[]
返回一个整形数组的函数 函数只能返回标量值 故这个声明是非法的
int f[]()
元素类型指向返回值为整型的函数的数组 非法的数组元素要求大小都一样,但是函数大小不一样
int (* f[])()
按照优先级 第一个括号*f[] 是一个元素为某种类型的指针的数组 第二个括号是一个函数调用操作符,
元素类型为返回为整型的函数指针数组
int *(*f[])()
与上面的相比多了一个间接访问操作符,
一个指针数组 指针指向的类型是返回值为整型指针的函数
int (*(*f)())[]
f as pointer to function returning pointer to array of int
int (*(*x)[10])()
x as pointer to array 10 of pointer to function returning int
函数的声明与使用
int f(int);
itn (*pf)(int) = &f;
初始化表达式中国的&操作符是可选的,因为函数名被使用时部是由编译器
把它转换为函数指针,&操作符只是显式地说明了编译器将隐式执行的任务
int ans ;
ans = f(25);
ans = (*pf)(25);
ans = pf(25);
()函数调用操作符优先级高于间接访问操作符*
返回一个整形指针的函数
int (* f)();
第一个括号起到聚组的作用,第二个括号是函数调用操作符,使第一个括号先执行
函数指针
int *(* f)()
与上面的相同是一个函数指针,返回值是一个整形指针
int f[]
[]与()的优先级相同
整形数组
int *f[]
元素类型指向整形指针的数组
int f()[]
返回一个整形数组的函数 函数只能返回标量值 故这个声明是非法的
int f[]()
元素类型指向返回值为整型的函数的数组 非法的数组元素要求大小都一样,但是函数大小不一样
int (* f[])()
按照优先级 第一个括号*f[] 是一个元素为某种类型的指针的数组 第二个括号是一个函数调用操作符,
元素类型为返回为整型的函数指针数组
int *(*f[])()
与上面的相比多了一个间接访问操作符,
一个指针数组 指针指向的类型是返回值为整型指针的函数
int (*(*f)())[]
f as pointer to function returning pointer to array of int
int (*(*x)[10])()
x as pointer to array 10 of pointer to function returning int
函数的声明与使用
int f(int);
itn (*pf)(int) = &f;
初始化表达式中国的&操作符是可选的,因为函数名被使用时部是由编译器
把它转换为函数指针,&操作符只是显式地说明了编译器将隐式执行的任务
int ans ;
ans = f(25);
ans = (*pf)(25);
ans = pf(25);
相关文章推荐
- C# 线程有参和无参启动
- FMDB数据库使用
- 苹果会在明后年推出13寸屏iPad吗?
- 不去优化JS代码,一心只嫁Chrome
- linux 远程本地端口映射
- ReSharper 8.0.2000.2660
- sencha touch 监听视图切换动画(animation)
- 最直观的颜色值---当计算机使用 256 色调色板时,所有的计算机能够正确地显示所有的颜色。
- python 登录人人网。。。
- opengl 教程(23) shadow mapping (1)
- opengl 教程(22) 用开源库装入模型
- opengl 教程(21) 聚光灯
- 食物链
- problem set
- opengl 教程(20) 点光源
- 在MFC中,运用轨迹球算法实现鼠标旋转物体
- ny788 又见Alice and Bob
- 火车车厢重排(链队列)
- 修改windows IP和DNS 批处理脚本
- adb 找不到设备