一、数据类型
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点型
double //双精度浮点型
//打印
printf("hello\n");
//字符类型
char chr = 'a';
//整形
int age = 20;
//短整型
short num = 20;
//单精度浮点型
float weight = 55.5;
//双精度浮点型
double d = 0.0;
//打印整数 %d
printf("%d\n", 100);
//每种类型的大小
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/f2408dc7f53979bec4c450055f64c7f8.png)
sizeof()是C 语言中可以返回一个变量或者类型的大小(单位为字节byte)
我们可以注意到整形int和长整型long的长度都是4字节,但是就名字而言,长整型应该比整形要更长才对,这是因为在C 语言中sizeof(long)>=sizeof(int)
二、全局变量和局部变量
//局部变量是{ }内定义的
//全局变量是 { }以外定义的
//那么当局部变量和全局变量名字冲突的时候,应该谁优先呢?
![](https://i-blog.csdnimg.cn/blog_migrate/cff3a51a2d57dbc5ae12d7680039fffc.png)
输出结果:
![](https://i-blog.csdnimg.cn/blog_migrate/df5c5c30791729bda15d9ee3939e52f3.png)
我们可以看到输出结果为10,由于C语言是从main函数开始读的,所以全局变量a =100由局部变量a = 10被重新赋值为10,所以最终的输出结果为10
结论:全局变量和局部变量的名字重复时,局部变量优先。
当然,我们在写代码的时候应当避免全局变量和局部变量的名字重复!