我想知道字符串和数组的索引从哪里开始。 我在制作程序时遇到了很多困惑。
计算一个字符串的字符串长度时,是否也计算空字符?
最佳答案
在 C、C++、Java 和 Python 中,数组索引是从 0 开始的,因此它们的范围是从 0 到长度-1。一些面向数学的编程语言(例如 Matlab)是基于 1 的。作为一般经验法则,“真正的编程语言”倾向于使用基于 0 的索引;数学/原型(prototype)/建模语言或其他特定领域的语言可以使用基于 0 或基于 1 的索引,数学通常使用基于 1 的索引。
就字符串而言,字符串的长度通常是指字符串中不包括终止NUL字符的字符数,而缓冲区的长度是指整个缓冲区的长度,包括终止 NUL。你会发现 std::string::size()和 strlen()返回字符串中的字符数,不包括终止 NUL(即字符串长度)。缓冲区的长度实际上比那个多了一个。
关于c++ - C++中数组和字符串的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2787514/