在 C 语言中,sizeof() 是一个
判断数据类型或者表达式长度的运算符,其功能是
获取对象或者类型在内存中所占用的存储空间,以字节为单位来计数。
C/C++中,sizeof()只是运算符号,是
编译的时候确定大小的。动态分配是运行过程中得到大小的,也就是说C++中new出来的内存,sizeof都无法统计的,退一步说,即使是new出来的空间也有可能失败,所以sizeof无法统计动态分配的内存大小。
主要用途:通过这个运算符计算数组中元素的个数。
1 #include<stdio.h>
2 int main(){ 3 int a = 10; 4 char b = 'b'; 5 short c = 2; 6 long d = 9; 7 float e = 6.29f; 8 double f = 95.0629; 9 int arr[] = { 1,2,3 }; 10 char str[] = "hello"; 11 double *p=&f; 12 int *i=&a; 13 //分别对各个变量使用sizeof运算printf("a=%d,b=%d,c=%d,d=%d,e=%d,f=%d,arr=%d,str=%d point_p=%d,point_i=%d\n",sizeof(a), sizeof(b), sizeof(c), sizeof(d), sizeof(e), sizeof(f),sizeof(arr), sizeof(str), sizeof(p), sizeof(i));
14 system("pause"); 15 }
//输出的结果是:a=4,b=1,c=2,d=4,e=4,f=8,arr=12,str=6 point_p=4,point_i=4
详解:点击跳转(转载)