C/C++ 字符串长度计算
在C语言中,可以用strlen()这个函数来计算字符串长度,它接受一个以 "\0"结尾的字符数组(字符串)作为参数,并返回该字符串中字符的数量,不包括结尾的 “\0” 字符。
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "Hello, world!";
int length = strlen(str);
printf("字符串长度为: %d\n", length);//输出13
return 0;
}
在C++中,可以用size()和length()函数计算字符串长度,length()和size()。这两个函数实际上是等价的,没有实质的区别,可以互换使用。
length()和size()函数返回的都是字符串的字符数(即字符串的长度),不包括结尾的空字符(\0)。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s = "123456";
string s2 = "1234567";
int len = s.length();
int len2 = s2.size();
cout << len << endl;//输出6
cout << len2 << endl;//输出7
return 0;
}
strlen()函数不能计算C++中string类型的字符串长度,strlen函数是用来计算C风格字符串的长度的, 即字符数组, 而不是C++中的string对象的长度。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s = "1232456";
strlen(s);//错误
return 0;
}
sizeof()的使用
sizeof
是一个 C 语言的运算符,不是函数,用于计算数据类型或变量的大小(以字节为单位)。
它返回一个 size_t
类型的值,表示对象在内存中所占的字节数。
例如,sizeof(int)
返回 4,因为 int
类型通常占用 4 个字节。在64位操作系统下,指针是占8个字节空间大小,不管是什么数据类型。
用法:
1.sizeof 对于一般变量, sizeof a 或者 sizeof(a);
2. 对于数据类型, 必须带括号 sizeof(int);