C++ 中的指针

来源:百度知道 编辑:UC知道 时间:2024/09/24 04:03:42
# include "iostream.h"
void main(){
char a[10],b[10];
char *c[2];
int i;
c[0]=a;
c[1]=b;
cin>>c[0][0];
//cout<<c[0][0];对
//cout<<c[0]; 出错 这三句分别代表什么,那位高手指点一下
//cout<<c;
}
# include "iostream.h"
void main(){
char a[10],b[10];
char *c[2];
int i;
c[0]=a;
c[1]=b;
cin>>c[0];
cout<<c[0];
} 这样对,如果把cin>>c[0];换成cin>>c[0][0];就不对了,为什么。

//cout<<c[0]; 出错 这三句分别代表什么,那位高手指点一下
当然不对c[0]是a[0]的地址
cout<<*c[0]; 这样才行

这样对,如果把cin>>c[0];换成cin>>c[0][0];就不对了,为什么。
这种作法本身就是错误的
你在c[0]中输入,他还没有分配空间,或者是已经分配的地址
不信你多输入点,估计就挂了