c ++中数组和字符串的索引

时间:2010-05-07 09:30:55

标签: c++ arrays string

我想知道字符串和数组的索引从哪里开始。 我在制作节目时遇到了很多困惑。

计算字符串的字符串长度时,还会计算空字符吗?

3 个答案:

答案 0 :(得分:3)

在C,C ++,Java和Python中,数组索引从0开始,因此它们的范围从0到length-1。一些面向数学的编程语言(如Matlab)是基于1的。作为一般经验法则,“真正的编程语言”倾向于使用基于0的索引;数学/原型设计/建模语言或其他特定领域的语言可以使用基于0或基于1的索引,基于1的数学通用。

就字符串而言,字符串的长度通常是指字符串中不包括终止NUL字符的字符数,而缓冲区的长度是指整个缓冲区的长度,包括终止NUL。您会发现std::string::size()strlen()返回字符串中的字符数,不包括终止NUL(即字符串长度)。缓冲区的长度实际上是一个。

答案 1 :(得分:2)

索引从ZERO开始。

答案 2 :(得分:0)

并不完全清楚你在问什么。

如果你问的是字符串和数组是否从索引0开始,那么是。

http://en.wikipedia.org/wiki/Zeroth