部分转载自作者:Minority
链接:https://www.jianshu.com/p/aecbd7db95bb
来源:简书
已标明出处
一、sizeof()
sizeof()运算符用来求对象所占内存空间的大小。
char c[] = "hello";
char* cc = c; int a[] = {1, 2, 3};
int* aa = a;
char cn[40] = "asdsds";
sizeof(c) = 6 // 包括计算了字符串后边的‘\0'
sizeof(a) = 12
sizeof(a)/sizeof(a[0]) // 用于计算整型数组的长度
sizeof(aa) = 8 // aa是指针,大小为8
sizeof(cc) = 8 // cc也是指针,大小为8
sizeof(cn) = 40 //开辟40个char空间
二、strlen()
对于字符数组的大小,用strlen()
char c[] = "asdsds"; #include <cstring> cout << strlen(c);
strlen(c) = 6
三、length()
c++中,length()只是用来获取字符串的长度。
string str = “asdfghjkl” str.length() = 9。
四、size()
c++中,在获取字符串长度时,size()函数与length()函数作用相同。
除此之外,size()函数还可以获取vector类型的长度。
vector < int> num(15,2) num.size() = 15。 string str = "d1da"; cout<<str.size(); // str.size() = 4