我想使用C程序读取用户的输入。我不想使用数组,
char names[50];
因为如果用户提供长度为10的字符串,那么剩余的空间将被浪费。
如果我像这样使用字符指针,
char *names;
那么我需要以这种方式分配内存,
names = (char *)malloc(20 * sizeof(char));
同样在这种情况下,可能会浪费内存。
因此,我需要为与字符串长度完全相同的字符串动态分配内存。
假设
如果用户输入为"stackoverflow",则分配的内存应该为14(即,字符串的长度= 13和'\ 0'的1个额外空间)。
我怎样才能做到这一点?
温温酱
相关分类