数组名取地址所算数运算应注意的"trap"
2015-12-24 11:29
323 查看
数组名取地址所算数运算应注意的"trap"
直接看代码:
程序输出是:
![](http://img.blog.csdn.net/20141119013305562)
数组名作为指针array没啥好讲的,可是对数组名进行取址 &array,得到的是指向整个数组的指针,注意,这里不单单是指向首个元素的指针。尽管两者(array 和&array)在数值上一致。
对&array 这个指针进行加减运算是以整个数组大小为基础的,即这里 array的大小是5,那么&array + 2
是加上整个数组大小的两倍,即0x7fff8423890 + 0x14 * 2;
直接看代码:
#include <stdio.h> int main() { int array[5]; printf("array : %p\n",array); printf("array + 2 : %p\n",array+2); printf("&array + 2 : %p\n",&array+2); return 0; }
程序输出是:
数组名作为指针array没啥好讲的,可是对数组名进行取址 &array,得到的是指向整个数组的指针,注意,这里不单单是指向首个元素的指针。尽管两者(array 和&array)在数值上一致。
对&array 这个指针进行加减运算是以整个数组大小为基础的,即这里 array的大小是5,那么&array + 2
是加上整个数组大小的两倍,即0x7fff8423890 + 0x14 * 2;
相关文章推荐
- JNDI全面总结(zz)
- 代码整洁之道【书】--03
- python包安装——Swig
- log4j框架logger的继承关系以及使用场景
- 2015年大二上-数据结构-树和二叉树-2-(1)二叉树的层次遍历
- mysql处理字符串的两个绝招:substring_index,concat最近老是碰到要处理数据
- android ListView 九大重要属性详细分析、
- Android图形系统之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的联系 && camera的takePicture实例
- elasticsearch节点不能自动进入集群
- Sublime Text3 快捷键汇总及设置快捷键配置环境变量
- ubuntu server 14.04 下 pomelo 环境配置
- JVM内存管理------GC算法简介
- 基于jQuery实现左右图片轮播(原理通用)
- import语句在包名前加static
- 设计模式的总体概况
- POJ 1088 滑雪
- Oneplus2 解锁,刷Cm13.0
- Caffe学习系列(4):激活层(Activiation Layers)及参数
- PHP文件相关处理(本地文件处理系统)
- suse防火墙关闭