Given:
char test[] = "bla-bla-bla";
两者哪个更正确?
char *test1 = malloc(strlen(test));
strcpy(test1, test);
or
char *test1 = malloc(sizeof(test));
strcpy(test1, test);
这适用于所有以空结尾的字符串,包括指向char
arrays:
char test[] = "bla-bla-bla";
char *test1 = malloc(strlen(test) + 1);
strcpy(test1, test);
您将无法获得指向的数组的正确大小char*
or const char*
with sizeof
。因此,该解决方案更加通用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)