是否可以使指针的第三个元素为 NUL ('\0'),然后“擦除”指针的剩余元素?
问问题
105 次
1 回答
3
假设你在谈论 C 风格的字符串,那么是的,有点:
char s[] = "abcdefgh"; // s = "abcdefgh"
// (actually contains 9 characters: "abcdefgh\0")
s[3] = '\0'; // s = "abc"
// (still contains 9 characters, but now: "abc\0efgh\0")
请注意,此时超出的字符s[3]
并没有神奇地消失 - 只是显示字符串,或将其传递给任何采用 C 样式字符串的函数,导致字符串似乎只包含三个字符。你仍然可以做例如
s[3] = 'x'; // s = "abcxefgh"
// (still contains 9 characters, but now: "abcxefgh\0")
于 2012-10-24T05:42:37.877 回答