【发布时间】:2013-06-11 07:22:24
【问题描述】:
所以我正在学习结构并尝试输入具有动态内存分配的字符串。
这是我目前所拥有的:
typedef struct{
char foo[81];
} TYPE;
void function(TYPE get[]){
char a[81];
scanf("%s", a);
get->foo = malloc(strlen(a)+1*sizeof(char)); //this line produces an error that it is not assignable
strcpy(get->foo,a);
return;
}
我不确定那句话有什么问题,任何帮助将不胜感激。
【问题讨论】:
-
顺便说一句,您的
malloc()参数没有任何意义。你的意思是(strlen(a) + 1) * sizeof (char),但由于sizeof (char)总是 1,这应该写成strlen(a) + 1。
标签: c arrays dynamic-allocation