作用:用来返回()里面变量或者数据类型占用的内存字节数。
sizeof存在的价值?
主要是因为在不同平台下各种数据类型所占的内存字节数不尽相同(譬如int在32位系统中为4字节,在16位系统中为2字节···)。所以程序中需要使用sizeof来判断当前变量/数据类型在当前环境下占几个字节。
strlen是一个C库
函数(可用man strlen 查看在哪个头文件中)
作用:测量字符串的有效长度,一定要注意strlen接收的参数必须是一个字符串(字符串的特征是以'\0'结尾)
例如:
char str[] = "hello"; printf("sizeof(str) = %d.\n", sizeof(str)); // 6 将\0也算在内 printf("sizeof(str[0]) = %d.\n", sizeof(str[0])); // 1 打印的是首字符 printf("strlen(str) = %d.\n", strlen(str)); // 5 字符串的有效长度,不包括末尾符 注:str[]是字符串数组,在末尾是用“\0”结尾;
例子2: