可以用吗 strlen() 在动态分配的字符串上?
strlen()
例如 :
#include <stdio.h> #include <string.h> int main () { char *input=NULL; printf ("Enter a sentence: "); scanf("%ms", &input); //Is this legit? printf ("The sentence entered is %u characters long.\n",(unsigned)strlen(input)); return 0; }
你可以用 strlen() 在任何序列上 char s以a结尾 '\0' ,空字符aka NUL *1个 ,实际上等于 0 .
char
'\0'
NUL
0
如何分配内存并不重要。
是的,这也适用于 动态分配 “记忆。
*1:不要混在一起 NULL ,这是空指针常量。
NULL