cplusplus中字符数组与字符串的区别
difference between char array and string in cplusplus
我想知道c++中字符数组和字符串的区别。
有谁能回答这个问题吗?请,谢谢Vishnukumar
string
是一个类/对象,具有方法和封装的数据。
字符数组就是用来存放字符的连续内存块。
(1) char
数组只是一个char
类型的数据块:
例如:char c[100];
//100个连续字节分配给c
(2a) string
,如果你指的是char
字符串,那么它有点类似于数组,但它是在内存的只读段分配的,应该分配给const char*
:
例如:const char *p = "hello";
//"hello"位于连续字符缓冲区
[注:char c[] = "hello";
属于(1)类,不属于(2a)类]
(2b)通过string
,如果你使用std::string
那么,它是一个标准的库类从头,你可能要参考它的文档或搜索在web
相关文章:
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- 返回常量对象引用 (getter) 和仅返回字符串有什么区别?
- 这两个C++语句连接字符串有什么区别?
- 使用 CStringW/CStringA 和 CT2W/CT2A 转换字符串有什么区别?
- 使用短运算符的字符串连接有区别吗?
- 在 C++ 中,字符串 a= "hello" 和字符串 a=(char *) "hello"有什么区别?
- cin>>gender 和 cin>>*gender ( c 样式文本字符串)有什么区别
- C++ 字符串追加和运算符 += 之间的区别
- Boost.Hana JSON 示例:字符串和 decltype(std::to_string(..))之间的区别
- 字符串 += s1 和字符串 = 字符串 + s1 之间的区别
- 结构产生的字符串有什么区别
- STD :: cin和Scanf()应用于字符串之间的区别
- C++ 和 pascal 字符串之间的区别
- 在 C++ 中,字符串的这两种不同初始化有什么区别?
- 初始化空字符串的 " " 和 {} 有什么区别?
- c++ 中字符串 s=s+"0" 和 s+="0" 之间的区别
- 字符串和向量<string>元素之间的区别
- 字符文字与字符串字面的u前缀有什么区别
- 使用单个区别符分开字符串
- 空字符串和"\0"字符有什么区别?(从指针和数组的角度来看)