我在看一个例子,我看到了这个:
char *str;
/* ... */
if (!str || !*str) {
return str;
}
是空的还是什么意思?
最佳答案
str
是一个字符指针。 !
否定它。基本上,当 str == NULL
时,!str
的计算结果为真 (1)。
第二部分是说,(如果 str
指向某物)如果第一个字符是空字符 ('\0'
),则计算结果为真 (1) - 表示它是一个空字符串。
注意:
*str
取消引用指针并检索第一个字符。这与执行 str[0]
相同。
关于c - 什么 ! (char*) 在 C 中的意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31737747/