转载自:http://www.slyar.com/blog/complicated-point-type.html

int p;

p是一个普通的整型变量。

int *p;

1、p与*结合,说明p是一个指针。
2、*p与int结合,说明指针所指向的内容的类型是整型的。

所以p是一个返回整型数据的指针。

int p[5];

1、p与[]结合,说明p是一个数组。
2、p[5]与int结合,说明数组里的元素是整型的。

所以p是一个由整型数据组成的数组。

int *p[5];

1、p与[]结合(因为其优先级比*高),说明p是一个数组。
2、p[5]与*结合,说明数组里的元素是指针类型。
3、*p[5]与int结合, 说明指针所指向的内容的类型是整型的。

所以p是一个由返回整型数据的指针所组成的数组。

int (*p)[5];

1、p与*结合,说明p是一个指针。
2、*p与[]结合,说明指针所指向的内容是一个数组。
3、(*p)[5]与int结合,说明数组里的元素是整型的。

所以p是一个指向由整型数据组成的数组的指针。

int **p;

1、p与*结合,说明p是一个指针。
2、*p与*结合,说明指针所指向的元素是指针。
3、**p与int结合,说明指针所指向的内容的类型是整型的。

所以p是一个指向整型指针的指针。

int p(int);

1、p与()结合,说明p是一个函数。
2、p()与()里的int结合,说明函数有一个int型的参数。
3、p(int)与外面的int结合,说明函数的返回类型是整型。

所以p是一个有一个整型参数且返回类型为整型的函数。

int (*p)(int);

1、p与指针结合,说明p是一个指针。
2、*p与()结合,说明指针指向的是一个函数。
3、(*p)()与()里的int结合,说明函数有一个int型的参数。
4、(*p)(int)与最外层的int结合,说明函数的返回类型是整型。

所以p是一个指向有一个整型参数且返回类型为整型的函数的指针。

int *(*p(int))[5];

1、从p处开始,先与()结合,说明p是一个函数.
2、p()与()里的int结合,说明函数有一个int型的参数。
3、p(int)与外面的*结合,说明函数返回的是一个指针。
4、(*p(int))与[]结合,说明返回的指针指向的是一个数组。
5、(*p(int))[5]与*结合,说明数组里的元素是指针。
6、*(*p(int))[5]与int结合,说明指针所指向的内容的类型是整型的。

所以p是一个参数为一个整数据且返回一个指向由整型指针变量组成的数组的指针变量的函数。

最新文章

  1. 【腾讯Bugly干货分享】移动App入侵与逆向破解技术-iOS篇
  2. arcgis api for js入门开发系列一arcgis api离线部署
  3. lombok 简化java代码注解
  4. NC nc5.x报表设置合计行是否显示
  5. (原创)关于SQL Server 2005 的自动远程数据库备份
  6. 最近使用ajaxFileUpload和Jcrop来实现图片上传和截图,出现一个图片无法更换的问题
  7. jQuery基础DOM和CSS操作
  8. POJ2686 Traveling by Stagecoach(状压DP+SPFA)
  9. SKScene类
  10. 关于解决Oracle登录:ora-12154:tns:无法解析指定的连接标识符
  11. Python中range的用法
  12. js的function中的指向自身的属性
  13. mongodb中分页显示数据集的学习
  14. 新手如何快速入门Python
  15. Java进阶(五十一)必须记住的Myeclipse快捷键
  16. 【hdu2000】ASCII码排序
  17. python3:实现字符串的全排列(无重复字符)
  18. es简单介绍及使用注意事项
  19. 三种常用的MySQL建表语句
  20. apache 中 ServerAlias让多个域名绑定到同一空间

热门文章

  1. 【JS/CSS3】实现带预览图幻灯片效果~
  2. Selenium-java-web常用操作---2
  3. mysql timeout知多少
  4. jquery validate表单验证插件-推荐
  5. 如何用卷积神经网络CNN识别手写数字集?
  6. Laravel增删改查语句总结
  7. Java读取xml配置文件
  8. maven项目project facets中是2.3调整为3.0的解决办法
  9. Android SDK NDK开发总结
  10. Tlist删除技巧