C语言指针总结
2015-10-26 20:30
344 查看
指针的运用:
int *p; p
为指向整型量的指针变量
nt *p
; p
为指针数组,由 n 个指向整型量的指针元素组成。
int (*p)
;
p 为指向整型二维数组的指针变量,二维数组的列数为 n
int *p() p
为返回指针值的函数,该指针指向整型量
int (*p)() p
为指向函数的指针,该函数返回整型量
int **p p
为一个指向另一指针的指针变量,该指针指向一个整型量
阅读组合说明符的规则是“从里向外”
从标识符开始,先看它右边有无方括号或园括号,如有则先作出解释,再看左边有无*号。 如果在任何时候遇到了闭括号,则在继续之前必须用相同的规则处理括号内的内容。例如:
int*(*(*a)())[10]
↑ ↑↑↑↑↑↑
7642135
上面给出了由内向外的阅读顺序,下面来解释它:
(1)标识符
a 被说明为;
(2)一个指针变量,它指向;
(3)一个函数,它返回;
(4)一个指针,该指针指向;
(5)一个有
10 个元素的数组,其类型为;
(6)指针型,它指向;
(7)int 型数据。
因此 a 是一个函数指针变量,该函数返回的一个指针值又指向一个指针数组,该指针数组的元素指向整型量。
int *p; p
为指向整型量的指针变量
nt *p
; p
为指针数组,由 n 个指向整型量的指针元素组成。
int (*p)
;
p 为指向整型二维数组的指针变量,二维数组的列数为 n
int *p() p
为返回指针值的函数,该指针指向整型量
int (*p)() p
为指向函数的指针,该函数返回整型量
int **p p
为一个指向另一指针的指针变量,该指针指向一个整型量
阅读组合说明符的规则是“从里向外”
从标识符开始,先看它右边有无方括号或园括号,如有则先作出解释,再看左边有无*号。 如果在任何时候遇到了闭括号,则在继续之前必须用相同的规则处理括号内的内容。例如:
int*(*(*a)())[10]
↑ ↑↑↑↑↑↑
7642135
上面给出了由内向外的阅读顺序,下面来解释它:
(1)标识符
a 被说明为;
(2)一个指针变量,它指向;
(3)一个函数,它返回;
(4)一个指针,该指针指向;
(5)一个有
10 个元素的数组,其类型为;
(6)指针型,它指向;
(7)int 型数据。
因此 a 是一个函数指针变量,该函数返回的一个指针值又指向一个指针数组,该指针数组的元素指向整型量。
相关文章推荐
- C++:基类和派生类
- C++拷贝构造函数语意学 copy constructor(The Semantics of Constructors)
- IOS开发笔记9-数组-C语言笔记
- const int *p, int *const p的区别
- 【C语言】【笔试题】实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。
- C/C++ 中的0长数组(柔性数组)
- c语言结构体注意事项及用法
- IOS开发笔记8-进制-C语言笔记
- C++:友元(非成员友元函数、成员友元函数、友元类)
- C++ 矩阵计算库 Eigen 使用笔记(一)
- UE4学习笔记-人物旋转控制(c++实现)
- C语言:实现一个函数itoa(int n,char s[]),将整数n这个数字转换为对应的字符串,保存到s中
- 【剑指offer】C语言:实现函数可以将一个字符串转换为对应的整数,如+1234输出1234
- C++:静态成员
- 动态规划解0-1背包问题(C语言版)
- C++:向函数传递对象(对象、对象指针、对象引用)
- c语言中通过指针将数值赋值到制定内存地址
- C++:常类型Const
- C++中int *p[4]和 int (*q)[4]的区别
- C++:对象的赋值和复制