OC 中数组和指针
2016-07-10 21:40
204 查看
int number[4]=[1,2,3,4];
int*p=number;
p+1; //地址值+4 int 4字节 double 8字节
指针p+N:p里面存储的地址值+N*所指向类型所占的字节数
数组名:代表着数组的地址,也是数组首元素的地址
数组名:相当于是一个指向数组首元素的指针
numbers: 相当于&number[0] 等价于指向number[0]的指针
&numbers:等价于指向numbers数组的指针 它的跨度是整个数组
int numbers[2][2]={
{10,20},
{11,22}
}
number[0] 相当于&number[0][0] 指向number[0][0]的指针
number[1]相当于&number[1][0] 等价于指向number[1][0]的指针
number 相当于&number[0] 相当于指向number[0]的指针跨度为8
&number相当于指向number数组的指针。跨度为数组的字节数
结论
## 指针p的加减法运算
- 指针p + N
- p里面存储的地址值 + N * 指针所指向类型的占用字节数
- 指针p - N
- p里面存储的地址值 - N * 指针所指向类型的占用字节数
## 数组名
- 存储的是`数组首元素`的地址
- 等价于:一个指向`数组首元素`的指针
- `数组名 + 1` 的跨度:`数组首元素`的占用字节数
## 其他结论
- `&num + 1`的跨度:`num`的占用字节数
int*p=number;
p+1; //地址值+4 int 4字节 double 8字节
指针p+N:p里面存储的地址值+N*所指向类型所占的字节数
数组名:代表着数组的地址,也是数组首元素的地址
数组名:相当于是一个指向数组首元素的指针
numbers: 相当于&number[0] 等价于指向number[0]的指针
&numbers:等价于指向numbers数组的指针 它的跨度是整个数组
int numbers[2][2]={
{10,20},
{11,22}
}
number[0] 相当于&number[0][0] 指向number[0][0]的指针
number[1]相当于&number[1][0] 等价于指向number[1][0]的指针
number 相当于&number[0] 相当于指向number[0]的指针跨度为8
&number相当于指向number数组的指针。跨度为数组的字节数
结论
## 指针p的加减法运算
- 指针p + N
- p里面存储的地址值 + N * 指针所指向类型的占用字节数
- 指针p - N
- p里面存储的地址值 - N * 指针所指向类型的占用字节数
## 数组名
- 存储的是`数组首元素`的地址
- 等价于:一个指向`数组首元素`的指针
- `数组名 + 1` 的跨度:`数组首元素`的占用字节数
## 其他结论
- `&num + 1`的跨度:`num`的占用字节数
相关文章推荐
- Python 安装模块 & 模块搜索路径
- c语言实现的推箱子小游戏-1
- 全国大学生信息安全竞赛writeup--careful(pwn150)
- sublime 配置文件后缀名字
- vector 的使用
- spring(java,js,html) 截图上传
- Android 创建一个新的Activity
- bzoj1026 [SCOI2009]windy数(数位dp)
- Makefile
- 放球问题
- 计蒜客 联想专卖店大促销
- 方便查看篇---内存
- Mention
- 【Python学习笔记】函数式编程:装饰器
- Python 模块 & 作用域
- codeforces 2A-Winner (map)
- Helvetic Coding Contest 2016 online mirror C1
- Spring (三)配置文件详解
- html+js+cgi
- 泛型的典型应用:人的信息类和接口