/*sizeof计算数据类型所占字节大小及尾缀修改数据类型*/
//sizeof(数据类型 or 数据名)
#include <stdio.h>
int main()
{
int a=0;
int buff[3];
int twobuff[2][3];
printf("基本数据类型:\n");
printf("a=%d\n",sizeof(a));
printf("int=%d\n",sizeof(int));
printf("构造数据类型:\n");
printf("buff=%d\n",sizeof(buff));
printf("int [3]=%d\n",sizeof(int [3]));
printf("int [2][3]=%d\n",sizeof(int [2][3]));
short b=3;
short c=3L;
short d=3UL;
printf("b=%d\n",sizeof(b));
printf("c=%d\n",sizeof(c));
printf("d=%d\n",sizeof(d));
}
/*
基本数据类型:
a=4
int=4
构造数据类型:
buff=12
int [3]=12
int [2][3]=24
*/
//结论:
/*数据类型分为(1)基本数据类型(2)构造数据类型(3)空类型
(1)基本数据类型例如:int a; int -> 数据类型 a ->数据名
sizeof(a)或sizeof(int)
(2)构造数据类型例如:int buff[128];
int -> 数据类型 buff -> 数组名 [128] -> 数组长度
sizeof(buff)或sizeof(int [128])[整体减去名字剩下的部分]
*/
/********************************************************/
#include <stdio.h>
int main()
{
short b=3;
short c=3L;
short d=3UL;
printf("b=%d\n",sizeof(b));
printf("c=%d\n",sizeof(c));
printf("d=%d\n",sizeof(d));
}
/*
b=2
c=2
d=2
*/
//结论:通过尾缀修改数据类型的方法,不会修改定义的变量的数据类型。
//查阅得,这种方法可用于单片机初始化定义参数,来适应不懂位数的系统。