数组 与 指针
来源:互联网 发布:厦门大学网络继续教育 编辑:程序博客网 时间:2024/06/06 16:26
学过C的应该都知道,可以通过指针访问数组元素。以下就是一个最简单的例子:
#include<iostream>using namespace std;int main(void){int a[6] = {1,2,3,4,5,6};int *p = a; //或者 = &a[0]cout<<p[0]<<endl; //输出a[0]cout<<*p<<endl;//输出a[0]cout<<*(p+1)<<endl; //输出a[1]cout<<p[1]<<endl;//输出a[1]return 0;}
上面都是一些很常见的例子,但是如果有p[-2]这种东西出现,你怎么看?(p还是上述定义的指针)如下面代码:
int main(void){int a[6] = {1,2,3,4,5,6};int *p = a;p = p + 3;//指针后移cout<<"p[0] = "<<p[0]<<endl;cout<<"p[-2]= "<<p[-2]<<endl;return 0;}输出的结果是: p[0] = 4 p[-2] =2
这是因为 p = p+3语句,将p指向a[3](元素4对应的位置),因此p[0] = 4,这不难理解。 让人费解的是,p[-2]下标是负数,由于下标是正数的时候 ,表示从p[0]
位置往右移动,那么对应的,-2 就应该表示从p[0]位置往左移动。但是必须注意的是,不能向左移的太多,不能向左移超过a[0],否则会出现内存错误。
PS:未完,待续。
- 指针:指针与数组
- 指针与指针数组
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 数组指针与指针数组
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组 与数组指针
- 指针数组与数组指针
- 数组指针与指针数组
- 指针数组与数组指针
- 指针数组与数组指针
- Codeforces Round #207 (Div. 2) C. Knight Tournament
- 静态网页之间传值(JS)
- Leetcode: Generate Parentheses
- 将博客搬至CSDN
- 如何卸载烦人的2007组件,windows提供的解决方案
- 数组 与 指针
- [黑马程序员] sqlHelper
- js实现复制当前链接推荐给好友
- 从form的enctype属性到Content-Type再到request.getInputStream()
- android如何获取root权限
- Android中BroadCastReceiver使用
- 局部特征(1)——入门篇
- CloudStack基于项目的资源访问控制
- android 判断是否为系统应用