Tag: null character

单个字符上的Strlen函数行为

这是我的代码: void func(char c) { char * ptr = &c; size_t len = strlen(ptr); printf(“len – %d\n”, len); } len始终打印为1。 strlen(..)通过在结尾处找到空字符( \0 strlen(..)来确定char数组的长度。 这里ptr仅使用单个字符的地址( c )进行初始化。 c不包含任何空字符。 ptr如何获得长度?

“\ 0”和“\ 0”之间的区别

我试着理解下面的一段代码,但我在“\ 0”和“\ 0”之间感到困惑。我知道它很傻但很友好地帮助我 #define MAX_HISTORY 20 char *pStr = “\0”; for(x=0;x<MAX_HISTORY;x++){ str_temp = (char *)malloc((strlen(pStr)+1)*sizeof(char)); if (str_temp=='\0'){ return 1; } memset(str_temp, '\0', strlen(pStr) ); strcpy(str_temp, pStr); 提前致谢

(char)0和’\ 0’之间有什么区别? 在C.

使用(char)0和’\0’表示字符数组中的终止空字符有什么区别?