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'前面所有字符
}