逗号表达式:从左到右依次计算,最后的结果是最右边一个表达式的结果。
#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' 之前出现的字符个数。