C指针学习分享之“了解指针”
来源:互联网 发布:红蜘蛛软件破解网络 编辑:程序博客网 时间:2024/05/29 18:02
人生的第一篇blog就要这样奉献给“指针”了!(ps:要开车啦,请系好安全带)以下是我在学习指针时的一点经验和总结,当然离不开前辈们的指导,接下来,我们一起开始学习“指针”吧,这一篇,我们先一起“了解指针”!go,go,go~
如何理解指针,我认为这是学习指针的基础。每一个指针都像表达式一样,存在优先级,只要按照优先级的规则层层剥茧,我们就能清楚的了解每一种指针都代表什么。直接通过例子来学习比较清晰明了。
(1). int p;
结论:p是整型变量
(2). int *p;
分析:变量为p,先结合左边的*,表示p是指针,指针所指向的内容的类型为int。
结论:p是返回一个整型数据的指针。
(3). int a[100];
分析:变量为a,先与右边的[]结合,表示a是数组,再与int结合,表示数组中的元素是整型的。
结论:a是由整型数据组成的数组。
(4). int (*a)[100];
分析:变量为a,先与*结合,表示a是指针,再与[]结合,表示指针指向的是数组,这个数组是由整型变量构成。
结论:a是一个指向由 整型数据组成的数组的指针。(数组指针)
(5). int *(a[100]);
分析:变量a是数组,再与*结合,表示a是一个指针数组,指针指向的数据类型为整型。
结论:a是一个由指向数据类型为整型的指针组成的数组。(指针数组)
(6). int func();
结论:func是一个返回整型数据的函数。
(7). int (*func)(int);
分析:变量func先与*结合,表示func是一个指针,再与右边的()结合,表示func指向一个函数,该函数有一个整型参数,最后再与最左边的int结合,表示函数的返回类型为整型。
结论:func是一个指向有一个整型参数,且返回值为整型的函数的指针。(函数指针)
(8). int *(*p(int))[100];
分析:变量p先与()结合,表示p是一个函数,这个函数带有一个整型参数;再与紧挨着p前面的*结合,表示函数的返回值是指针,再与[]结合,表示,指针指向一个数组,最后在与最外层的*结合,表示该数组元素是由指向整型数据的指针组成。
结论:是一个参数为整型、返回值为指针的函数,该指针指向包含0-99下标元素的数组,数组元素是指向整型数的指针。
(9). char *(*c[10])(int **p);
分析:变量c先与[]结合,表示c是一个数组,再与*结合,表示c是一个指针数组,指针数组的元素是一个指向含有一个整型参数,且返回值为char型的函数构成的指针。
结论:c是一个包含0-9下标元素的数组,数组元素是指针,指针指向参数是整型指针的指针、返回值为char型的函数。
(10). int (*func[])();
分析:变量func[]是一个数组,先与*结合,表示func数组元素是指针,指针指向一个函数,该函数的返回值为整型。
结论:func是数组,其中数组元素为指向返回整型的函数的指针。
(11). int (*func())[];
分析:func先与()结合,表示func为一个函数,再与*结合,表示func是一个指针函数,再与[]结合,表示func是一个指向数组的指针函数。
结论:func是一个函数,函数的返回值为指向整型数组的指针。
大家都学会了吗?检验学习成果的时刻到了,请根据上面的方法,自己尝试解析下面的问题:
int *(*(*(*func)())[10])();
(欢迎大家踊跃参与,(*^__^*))《过两天将揭晓答案》
PS:再此,要特别鸣谢,我的“右同桌”——小宁同学,在他细心、认真检查下才会有我的第一篇blog。(大家若是发现有不对的地方请指出,谢谢啦~)
- C指针学习分享之“了解指针”
- C指针分享之“复杂指针”
- 了解C语言之指针(一)
- 了解C语言之指针(二)
- 了解C语言之指针(三)
- 了解C语言之指针与数组
- C指针初步了解
- C语言学习之指针
- C语言学习之指针
- 学习笔记:指针之C
- C指针学习之理解
- C语言学习之指针
- 彻底了解c/c++指针
- 彻底了解c/c++指针
- C学习之------C函数指针
- 《C和指针学习笔记》之指针总结
- 征服C指针之关于指针学习第一步!!!
- c语言学习笔记之函数指针和指针函数
- 函数传参、重用、价格计算
- JavaSE IO、NIO
- sed流式编辑器
- [NOIP模拟赛]棋子游戏
- ARM实例一
- C指针学习分享之“了解指针”
- 一键重启shell脚本
- mybatis maven generator 插件自动生成代码
- AndroidUI——HorizontalListView实现水平滑动
- leetcode 101. Symmetric(对称的) Tree
- 数组(array)应用
- 词频统计(一):C++使用Vector做词频统计
- HDU 1370 Biorhythms
- JavaScript数组的常用方法