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

标签 c++ arrays string

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

计算一个字符串的字符串长度时,是否也计算空字符?

最佳答案

在 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/

相关文章:

c - 如何多次使用 strchr() 查找第 n 次出现

c++ - 找出汽车的类型

c++ - 将 double 的 64 位二进制字符串表示形式转换回 C++ 中的 double

C++14:使用三元表达式从 constexpr 推导出(自动)返回类型

javascript - 根据数组的第一个值拆分数组

java - 使用 GSON 解析 JSON 数组

C 基本字符串问题

c++ - C++ 上的预处理器重载

javascript - 使用javascript加入两个数据集

sql - 使用 Postgres 中的 Overlay 函数在不同位置更新同一列的多个值