作者:余天升
链接:http://www.zhihu.com/question/20481976/answer/15249192
来源:知乎
a) int a;表示一个内存空间,这个空间用来存放一个整数(int);
b) int* a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放整数的空间,即a)中提到的空间;
c) int** a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放指针的空间,并且指向的这个空间中的指针,指向一个整数。也简单的说,指向了一个b)中提到的空间;
d) int (a)[10];表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个长度为10、类型为int的数组;和int* a的区别在于,++、+=1之后的结果不一样,其他用法基本相同。以上四种类型见上图表示。
e) int (*a)(int);表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个函数,这个函数有一个类型为int的参数,并且函数的返回类型也是int。
代码解答(1)
最新推荐文章于 2022-12-27 13:00:44 发布
本文详细解析了C语言中指针的基本概念及其不同类型的使用方式,包括如何理解单级、多级指针及指向函数的指针等。通过具体实例说明了指针在数组和函数调用中的应用。
1643

被折叠的 条评论
为什么被折叠?



