strlen()和sizeof没有什么关联
strlen是求字符串长度的,只能针对字符串求长度,是一个库函数,使用时需要引用头文件,是求\0之前的字符。需要引用<string.h>的头文件。默认返回无符号的数据
sizeof计算变量、数组、类型的大小,单位时字节,是一个操作符
1、sizeof(数组名)-数组名表示整个数组,sizeof(数组名)计算的是整个数组的大小,单位是字节。
2、&数组名, 数组名代表整个数组,&数组名,取出的是整个数组的地址。
除以上两种情况,所有的数组名都表示数组首元素的地址
获取数字数组的长度:
int len = sizeof(arr)/sizeof(int);
指针占用4个或8个字节
size_t: C语言规定,sizeof返回size_t类型的值,是一个无符号整数类型。
const限定符:C90标准新增的const关键字,用于限定一个变量为只读
const int YEAR = 12; // YEAR在程序中不可更改,值为12。
宏是整个替换
三目运算符是从右往左运算。
例题:
若有int w=1, x=2, y=3, z=4;则条件表达w < x ? w : y < z ? y : z的值是1
解答:
1、因为三目运算符是从右至左运算,所以w < x ? w : y < z ? y : z等价于:w < x ? w : (y < z ? y : z)。
2、(y < z ? y : z)的运算结果为:3,则原式变为:w < x ? w : 3。
3、w < x ? w : 3的运算结果输出是w,所以整个式子的输出结果为1。