C语言基础——sizeof的用法总结
https://blog.csdn.net/u013812502/article/details/81198452
C语言基本数据类型
https://www.cnblogs.com/ricksteves/p/9899893.html
#include "stdafx.h"
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
int a=10;
int arr[]={1,2,3};
char str[]="hello";
int len_a = sizeof(a);
int len_arr = sizeof(arr);
int len_str = sizeof(str);
printf("len_a=%d,len_arr%d,len_str=%d\n",len_a,len_arr,len_str);
return 0;
}
看了上面的代码,一般会认为结果是:len_a=1,len_arr=3,len_str=5
实际上的结果是:len_a=4,len_arr=12,len_str=6
sizeof还可以这么用:
printf("len_int=%d,len_short=%d,len_double=%d", sizeof(int), sizeof(short), sizeof(double));
short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
在不同的系统上,这些类型占据的字节长度是不同的:
在32 位的系统上
short 占据的内存大小是2 个byte;
int占据的内存大小是4 个byte;
long占据的内存大小是4 个byte;
float占据的内存大小是4 个byte;
double占据的内存大小是8 个byte;
char占据的内存大小是1 个byte。
具体可以用上面sizeof测试一下即可。