sizeof()使用方法
sizeof是返回一个对象或类型所占的内存字节数;
C语言中的构造数据类型有三种:数组、结构体和共用体。
主要有三种用法:
1) sizeof( object ); // sizeof( 对象 ); 2) sizeof(type_name ); // sizeof( 类型 ); 3) sizeof object; // sizeof 对象;
数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个数。
结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题;
- struct stu1
- {
- int i;
- char c;
- int j;
- };
用sizeof求该结构体的大小,发现值为12。int占4个字节;
有关于结构体的sizeof的问题,参考这个网址:
https://blog.csdn.net/qq_18884827/article/details/52523448
基本数据类型:
类型名 字节
char 1
short int 2
int 4
long int 4
float 4
double 8
long double 10
sizeof(p/指针):得到的是指针所占的内存,即指针的大小,在32位系统上,不管指针p指向的是整型数据,还是字符型数据,short型数据,long型数据等,指针p本身所占的内存字节数均为4。也就是要使用4个字节的大小来存储变量p的值。
若有int a[10],*p=a; sizeof(p)=4,sizeof(a)=40;