逗号表达式:从左到右依次计算,最后的结果是最右边一个表达式的结果。
#include <stdio.h>
int main()
{
//逗号表达式
int arr[] = {1,2,(3,4),5};
printf("%d\n",sizeof(arr));
return 0;
}
数组的类型:去掉数组名的其他部分就是数组的类型。
#include <stdio.h>
int main()
{
//数组类型
int arr[10] = {0};
printf("%d\n",sizeof(arr));
printf("%d\n",sizeof(int [10]));
return 0;
}
字符串:
#include <stdio.h>
#include <string.h>
int main()
{
//字符串
char str[] = "hello world";
printf("%d %d\n",sizeof(str),strlen(str));
return 0;
}
字符串 str 计算 sizeof(str) 时会计算 ‘\0’ ,计算 strlen(str) 时不会计算 ‘\0’ 。
sizeof 是一个操作符,用来计算变量或类型所占内存空间的大小,不关注内存中存放的具体内容,单位是字节。
strlen 是一个库函数,是专门求字符串长度的,只能针对字符串,从参数给定的地址向后一直找 ‘\0’ ,统计 '\0' 之前出现的字符个数。