sizeof与strlen()

129 阅读1分钟

sizeof是运算符,不是函数

sizeof

(1)用来计算变量或数据类型在系统空间中所占字节数 (2)用于变量时,可用可不用括号; (3)用于数据类型,必须加括号 (4)用于求字符串所占空间时,包含‘\0’

strlen()是函数

(1)用来计算字符串长度,不包括结束符'\0' ,读取到第一个'\0'便结束

测试代码:

#include using namespace std; void main() { char a[] = "1234"; char b[7] = { '1','2','\0','3','4','\0'}; //char c[4] = "1234"; //const char [5]" 类型的值不能用于初始化 "char [4]" 类型的实体

cout << sizeof a << "\n";//占5个字节(包括‘\0’,自动加上)
cout << strlen(a) << "\n";//字符长度为4

cout << sizeof b << "\n";//占7个字节
cout << strlen(b) << "\n";//字符长度为2,只读取第一个'\0'前面所有字符

}

运行截图:

1.JPG