strlen和sizeof表示不同的含义。
strlen表示的是一个计数器的工作,它是从内存的某个位置(这里的位置可以是字符串开头,中间某个位置,也可以是某个不确定的内存区域)开始扫描,然后直至碰到第一个字符串结束符'\0'为止,然后返回计数器值。
sizeof在C语言中是用于判断数据类型或者表达式长度的运算符。
2、在程序中运行strlen和sizeof的运行结果有区别。
strlen后是不加最后的结束标志'\0',其表示字符串的长度。而sizeof求的是字符串所在内存中的长度,所以它是加上最最后的结束标志'\0'的。如果传入不是地址,报错。
char str[] = "ab"; 等价于 char str[] = {'a', 'b', '\0'}; 不等于char sn[] = {'a', 'b'};
sizeof(数组) 返回数组大小,sizeof(指针) 返回指针大小
class 大小
成员变量对齐,普通函数不占空间,有虚函数时,增加一个虚函数表指针变量
printf格式
%u,无符号十进制整型;
%lu,无符号十进制长整型;