代码改变世界

指针运算

2012-09-17 23:33  kennyMc  阅读(329)  评论(0)    收藏  举报

指针只能进行加减运算。
指针的加运算递增的值取决于指针指向对象的类型。
int a=20;
int* p=&a;
这里指针指向的地址假如是0x22ff44,
p++以后指针指向的地址就是p+1*sizeof(int)=0x22ff48

假如指针指向数组,那么p++就相当于指向数组的下一个元素,具体指针递增的字节数看数组的类型
double a[]={1,2,3};
double* p=a;
cout<<*(p+1)<<endl;
*(p+1)这里指针指向数组第二个元素,然后输出数组地址的值

(p+1)=2这样就是错误的