对于C语言开发人员来说,sizeof应该不陌生吧。此次我主要写的是sizeof对各变量长度的计算方式。
sizeof这个函数主要是对各数据类型的长度进行计算,入参为数据类型,返回值计算结果。但由于不同OS的系统架构下,sizeof计算的结果会存在一定的差异。下文主要基于32位系统,讨论sizeof的计算方式。
比较常见的场景是基本数据类型长度的计算结果如下:
类型
|
32位系统(bytes)
|
64位系统(bytes)
|
bool
|
1
|
1
|
char
|
1
|
1
|
short
|
2
|
2
|
int
|
4
|
4
|
long
|
4
|
8
|
long long
|
8
|
8
|
char *
|
4
|
8
|
float
|
4
|
4
|
double
|
8
|
8
|
long double
|