【发布时间】:2015-07-15 09:45:47
【问题描述】:
下面是一段代码
char str[20];
char *name[5];
for(i=0;i<5;i++){
printf("Enter a string");
gets(str);
name[i]=(char *)malloc(strlen(str));
strcpy(name[i],str);
}
当每个字符串的第 5 行地址(由 str 变量表示)存储在 name[i] 数组中时,为什么这段代码使用 strcpy() 将每个地址复制到 name[i] 中?
【问题讨论】:
-
你必须 malloc strlen+1 个字节
标签: c string pointers malloc strcpy