C/C++知识回顾(二) Sizeof

本文探讨了C语言中的内存对齐规则,包括指针大小、结构体元素对齐方式、static变量存储位置及内联函数的使用场景等关键概念。此外,还详细解释了不同情况下sizeof运算符的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值