C指针解析 ------ 指针表达式
来源:互联网 发布:联通云数据公司待遇 编辑:程序博客网 时间:2024/05/16 07:38
本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020
所谓的指针表达式是指一个表达式,其结果是一个指针。
例1.
int a,b;
int array[20];
int *p;
p = &a; //&a 就是一个指针表达式,因为&a的结果就是一个指针。
int **q = &p; //&p也是一个指针表达式。
*q = &b; //*p和&b都是一个指针表达式。
p = array;
p++; //同理,这也就是指针表达式。
例2.
char *arr[10];
char **parr = arr; //arr可以看做是一个指针,代表数组的首地址,这样,arr也是一个指针表达式。
char *s;
s = *parr; //很容易看出*parr也是一个指针表达式。
s = *(parr+2); //同理,*(parr+2)是一个指针表达式。
因为,指针表达式的结果是一个指针,所以指针表达式也满足指针的四个要素,即,指针的类型,指针所指向的类型,指针的值或指针所指向的内存地址,以及指针自身占据的内存。
另外,需要注意,当一个指针表达式的结果指针已经明确地具有指针自身占据的内存的话,那么这个指针表达式就是一个左值,可以进行自加,自减等操作,否则的话,这个指针表达式就不是一个左值。如例1中的&a就不是一个左值,因为没该表达式的结果指针也就是a的地址并没有占据内存,所以不是一个左值,当然不能进行自加等操作了,但*q就是一个左值,因为在定义时,已经给指针q分配空间了。
- C指针解析 ------ 指针表达式
- C 指针&&表达式&&常量
- 复杂C指针解析
- C指针解析
- 【C++】指针解析
- c指针解析
- C++this指针解析
- 【C++】this指针解析
- C指针解析 ------ 指针的算术运算
- 【C解析之四】指针
- C和指针代码解析
- c语言-指针 const解析
- 【C解析之四】指针
- 【C解析之四】指针
- [C/C++]指针详解(3) — 指针表达式
- C指针解析 右左法则----复杂指针解析
- 指针表达式
- 解析指针!
- 进程和线程的区别和联系
- 负载均衡--大型在线系统实现的关键(上篇)(再谈QQ游戏百万人在线的技术实现)
- iOS手机联系人相关AddressBookUI.Framwork和AddressBook.Framework
- 王立平--include在Android中的应用
- WideCharToMultiByte和MultiByteToWideChar函数的用法
- C指针解析 ------ 指针表达式
- 提高维修营销效率
- ACM必须掌握的算法
- 深入理解javascript原型和闭包系列
- IOS开发流程.1
- 十月一日最后一天工作的清晨-偶有所感
- 《程序员的自我修养》读书笔记1 -- 温故知新和静态链接
- 交换机连接不同子网的主机,不能互通
- 完全卸载Oracle 11g的步骤