数组首地址&a偏移一个单位
来源:互联网 发布:人工智能社会 编辑:程序博客网 时间:2024/05/22 12:02
po上代码先:
#include <stdio.h>void main(){ int a[5] = {1,2,3,4,5}; int *ptr = (int *)(&a + 1); printf("%d,%d",*(a+1),*(ptr-1));}
这里&a + 1是我在编程中所出现的疑点。
一开始我的认为是&a跟a均表示数组首元素的地址。如当*(a+1)输出2时,便是很好的理解,a代表1,那么加上一个int的偏移便指向了2,解释符输出2.
然而&a是对象(数组)首地址,其类型为int(*)[5],指向的是数组这一整块内存,那么这里的指针加上的是一个同样大小数组的偏移,即指向了数组a末尾的下一指针a[5]。所以这里的ptr-1通过解释符输出了5.
0 0
- 数组首地址&a偏移一个单位
- C++数组地址偏移
- 数组指针和偏移地址
- C语言数组中的地址偏移问题
- C语言数组中的地址偏移问题
- C语言数组中的地址偏移问题
- 数组名,数组首地址,a,&a,&a[0]
- 数组名,数组首地址,a,&a,&a[0]
- 偏移了一个数组的大小
- char a[]和char *a的比较,数组名,数组首地址,a,&a,&a[0]
- char a[]和char *a的比较,数组名,数组首地址,a,&a,&a[0]
- char a[]和char *a的比较,数组名,数组首地址,a,&a,&a[0]
- 利用指针地址偏移打印一维数组
- 数组偏移
- C学习笔记 7 写出一个宏,求任意结构体成员相对于结构体首地址的偏移。
- 使用宏定义来获取一个结构体成员相对于该结构体首地址的偏移量
- 数组首元素地址和数组地址、int *ptr=(int *)(&a+1)问题的探讨
- 偏移地址范围
- C++绑定到Lua
- android 自定义控件 Switch
- Conversion to Dalvik format failed with error 1
- 用两个栈实现队列和用两个队列实现一个栈
- 程序员必须知道的十大基础算法及其讲解
- 数组首地址&a偏移一个单位
- Linux C编程一站式学习第三章
- Python学习笔记1——python的关键要素
- 腾讯后台开发面试题
- uva - 1442(cav 递推类 ,思路)
- 互联网大脑的情绪,智商和梦境-互联网神经学系列第四篇
- POJ 3252 Round Numbers
- 【JavaScript】仿新浪微博原生态兼容IE6的输入字数即时检查
- 关于 theano.scan函数一些简单的应用只包括fn ,sequences 和outputs_info