要用指针的方式来输入字符串,首先指针所指的内存空间需要开辟(在堆区),开辟多少就看自己需要多少了,比如说:
char *ppp = new char[20] //这就是在内存中开辟出PPP指向的内存空间按char的类型开辟出20个单位;里面可以存放19个char类型的字符数。
就你的例子来 char *p = new char[这里面是你要给的个数或者是返回int类型的函数];
p = "abcdefg"; && strcpy(p,"data");
int i;
char *p;
&i=*p;
cin>>i;
char*其实是字符指针声明而不是字符串数组,只能以字符型变量的地址做初始化。可以使用char *="123",是因为系统帮你完成了两步操作:申请堆空间和填入串值。类似于char *p={'a','b','c'}的声明都是错误的。
需要先分配内存的说。指针是不能随便用地
这个得分配内存空间才行啊 用到的事 new 懂吗