char*的一点小问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 23:41:47
#include <iostream.h>
void main()
{
//char m[]={"abcde"};
char m[20];
cin>>m;
char *c;
*c=m;
//cin>>m;
cout<<c;
}
这个运行有错
#include <iostream.h>
void main()
{
//char m[]={"abcde"};
char m[20];
cin>>m;
char *c=m;

//cin>>m;
cout<<c;
}
这个可以 有什么区别么

char *c;
*c=m;

char *c=m; 是不一样的前面是指向char的指针,m是地址,要对c赋值要用c=m;*c表示c指针指向的内容,内容为地址是不行的,后面的char *c=m;就可以了
他等于char * c;c=m,若m为变量则为c=&m

char *c;
*c=m;这错了
应该为char *c;
c=m;
具体你还是看一下指针怎么声明使用的吧

赋值的要求就是类型要匹配嘛

编译器就是检查这个的