sizeof()使用方法

sizeof是返回一个对象或类型所占的内存字节数;

C语言中的构造数据类型有三种:数组、结构体和共用体。

主要有三种用法:

1) sizeof( object ); // sizeof( 对象 );
2) sizeof(type_name ); // sizeof( 类型 );
3) sizeof object; // sizeof 对象;

数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个数。
结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题;

  1. struct stu1  
  2. {  
  3.      int i;  
  4.      char c;  
  5.      int j;  
  6. };
用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;



posted on 2019-08-27 19:20  幸福的萤火虫  阅读(1303)  评论(0编辑  收藏  举报

导航