char数组:
sizeof()---求所占的字节数
strlen()---字符数组或字符串所占的字节数
碰到第一个字符串结束符'\0'时返回计数器值,即是指实际字符串或字符数组的实际长度(不是所占空间的字节数)。
<span style="background-color: rgb(255, 255, 255);">#include<iostream>
using namespace std;
int main() {
char a[32];
cin >> a;//cin会在写入结束后加入一个\0字符 如果输入了32个字符则会越界
cout << strlen(a)<<endl;
cout << sizeof(a) << endl;
int b[5] = { 1, 1, 1, 1, 1};
cout << "b数组占内存" << sizeof(b) << endl;
cout<<"b数组的元素个数"<<sizeof(b) / sizeof(int)<<endl;
}</span>
结果:
2.string:
string类最初只有length,引入STL之后,为了兼容又加入了size,它是作为STL容器的属性存在的,便于符合STL的接口规则,以便用于STL的算法。 所以.size()和.length()效果是一样的