c++算法训练—(二)string、char[]

编程入门 行业动态 更新时间:2024-10-27 17:17:01

c++<a href=https://www.elefans.com/category/jswz/34/1770096.html style=算法训练—(二)string、char[]"/>

c++算法训练—(二)string、char[]

2、string、char[]

2.1、string

因为字符串常数几乎可以是任意长度,所以程序必须有一些方法知道它有多长。在C++ 中,这是通过在其末尾附加一个额外的字节并将数字 0 存储在其中来完成的。这被称为 null 终止符或 null 字符,它标记着字符串的结尾。

不要将空终止符与字符 ‘0’ 混淆。字符 ‘0’ 的 ASCII 码是 48,而空终止符的 ASCII 码是 0。如果要在屏幕上打印字符 0,则显示的其实是 ASCII 码为 48 的字符;在使用字符串常数或给字符串变量赋值时,ASCII 代码为 0 的字符将自动附加在其末尾。

可以发现字符串中的字符存储在连续的内存位置。其次,可以看到引号不与字符串一起存储,它们只是在源代码中标记字符串的开头和结尾。最后,请注意字符串的最后一个字节,它包含 null 终止符,由 \0 字符表示。最后一个字节意味着虽然字符串 “Sebastian” 的长度为 9 个字符,但它实际占用了 10 个字节的内存。

sizeof(…)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。

c/c++ strlen(str)和str.length()和str.size()都可以求字符串长度。

其中str.length()和str.size()是用于求string类对象的成员函数。(两者无区别)

strlen(str)是用于求字符数组的长度,其参数是char*。

更多推荐

c++算法训练—(二)string、char[]

本文发布于:2024-02-12 06:18:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1686580.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:算法   string   char

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!