1.指针大小为4个字节
2.结构体内的元素长度都小于处理器的位数的时候,以最长的数据元素作为对齐单位
如果结构体内存在长度大于处理器位数的元素,那么就以处理器的位数为对齐单位
3.注意地址对齐
4.static 静态变量存放在全局数据区,sizeof不会计算它。
5.
char * s="0123456789";
//sizeof(s)=4
//sizeof(*s)=1 *s是第一个字符
char s[]="0123456789";
//sizeof(s)=11;
//sizeof(*s)=1
//strlen的参数只能是char *
6.对函数使用sizeof,在编译阶段会被函数返回值的类型取代
7.sizeof(string)=4
8.
char var[10];
int test(char var[])
{
return sizeof(var);
}
//函数返回值为4
9.一个空类所占空间为1,多重继承的空类所占空间还是1,但是虚继承的类大小为4;
10.关于内联函数
内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用。在编译的时候内联函数直接嵌入到目标代码中。
inline一般用于一下情况
(1)重复调用
(2)没有for while switch语句