指针p跟*p的区别
代码如下:
#include <iostream.h>
void invert(char *a,int x,int y){
char t,*p, *q;
p=a+x;
cout<<"p的值为:"<<p<<endl;
q=a+y;
while(p<q){
t=*p;
*p=*q;
*q=t;
p++;
q--;
}
}
void main(){
char dt[13]="GoodBookNice";
int i=0;
int n=1;
while(i<8) {
invert(dt,i,i+5);
cout<<"第"<<n++<<"次计算:"<<endl;
for(int j=i;j<=i+5;j++)
cout<<dt[j]<<","<<endl;
i+=6;
}
}
问题如下:不是说,p指向地址,*p指向内容么?为何我前面cout出p的值是为数组dt的值,而不是dt的地址呢?
而我尚未给*p赋值,但是我cout<<*p<<endl;的值,却是可以cout出dt的首个字母G。
请各位有能力的大哥帮忙解决一下,不胜感激。