struct中有char *成员变量,无法赋值,求解解决思路
struct中有char *成员变量,无法赋值,求解
struct name
{
char * p;
char * w;
}na;
void main()
{
char *test;
test = (char *)malloc(sizeof(test));
*test = ’a‘;//可以赋值.
na.p = (char *)malloc(sizeof(test));
na.p[0] = 'A';//不可以赋值提示错误 cannot convert from 'const char' to 'char *
}
我用的是visual c++ 6.0编译器.
不明白是为什么了,请解答
------解决方案--------------------
LZ你个疯子,所有标点符号都是中文的,能编译过才怪,除了这个,程序语法没有任何问题。(malloc了却不free造成内存泄漏是另一回事)如果还不行,换个编译器,vc6.0已经老掉牙了
------解决方案--------------------
很老的编译器了,不要纠结这种问题了楼主···
------解决方案--------------------
对C而言,你粘贴的代码用了很多中文的括号和分号,把这些符号改过来后,用vs2012试了,没你说的问题,另外,na.p[0]建议加括号写成(na.p)[0],最后一定要free掉。
------解决方案--------------------
代码没问题,注意释放自己分配的内存
------解决方案--------------------
Liunx下:gcc/g++ windows下,用visual studio 2005/8/10··· 最好下一个最新的破解版本,支持c++11
struct name
{
char * p;
char * w;
}na;
void main()
{
char *test;
test = (char *)malloc(sizeof(test));
*test = ’a‘;//可以赋值.
na.p = (char *)malloc(sizeof(test));
na.p[0] = 'A';//不可以赋值提示错误 cannot convert from 'const char' to 'char *
}
我用的是visual c++ 6.0编译器.
不明白是为什么了,请解答
------解决方案--------------------
LZ你个疯子,所有标点符号都是中文的,能编译过才怪,除了这个,程序语法没有任何问题。(malloc了却不free造成内存泄漏是另一回事)如果还不行,换个编译器,vc6.0已经老掉牙了
------解决方案--------------------
很老的编译器了,不要纠结这种问题了楼主···
------解决方案--------------------
对C而言,你粘贴的代码用了很多中文的括号和分号,把这些符号改过来后,用vs2012试了,没你说的问题,另外,na.p[0]建议加括号写成(na.p)[0],最后一定要free掉。
------解决方案--------------------
#include <stdlib.h>
#include <stdio.h>
struct name
{
char *p;
char *w;
}na;
int main(int argc, char **argv)
{
char *test;
test = (char*)malloc(sizeof(test));
*test = 'a';
na.p = (char*)malloc(sizeof(test));
na.p[0] = 'A';
printf ("%c\n", na.p[0]);
return 0;
}
代码没问题,注意释放自己分配的内存
------解决方案--------------------
Liunx下:gcc/g++ windows下,用visual studio 2005/8/10··· 最好下一个最新的破解版本,支持c++11