数据类型
数据类型是用来创建(服务)变量的。
数据类型,即相似数据所拥有的共同特性。(编译器获取了其数据类型,才知道如何进行下一步的数处理)
内置 类型:在C语言中,可以直接使用的数据类型。
自定义类型:在编程时,被定义的新的数据类型。
字符型
char
[signed] char
[unsigned] cahr
整型
短整形
short [int]
[signed] int
unsiged int
长整型
long[int]
[signed] iong [int]
unsiged long [int]
long long [int]
[signed] long long [int]
unsiged long long [int]
浮点型
float
double
long double
布尔类型
布尔类型是专门用来表示真假的。
变量的取值是: true 或者 false
0表示假,非0表示真
_Bool与bool均可表示布尔类型
布尔类型的使⽤得包含头⽂件 <stdbool.h>
数据类型长度
每种数据类型都有⾃⼰的⻓度,使⽤不同的数据类型,能够创建出⻓度不同的变量,变量⻓度的不同,存储的数据范围就有所差异。
sizeof是⽤来计算sizeof的操作符数的类型长度,计算中的单位是字节.
sizeof( 类型 )
sizeof 表达式
sizeof后面的表达式不参与真实计算,依据表达式类型得出大小
sizeof 的计算结果是 size_t 类型的
C语言只规定了sizeof的返回值是无符号整型
#include<stdio.h>
int main()
{
short s = 2;
int b=10;
printf("%d\n",sizeof(s=b+1));
printf("%d\n",s);
return 0;
}
在上面这个所写的代码中,输出的值的类型由s的类型所决定。
signed 和 unsigned
signed 关键字,表⽰⼀个类型带有正负号,包含负值
unsigned 关键字,表⽰该类型不带有正负号,只能表⽰零和正整数
整数变量声明为 unsigned 的好处:同样⻓度的内存能够表⽰的最⼤整数值,增⼤了⼀倍
int 等同于signed int
char 是否带有正负号,由系统决定
变量
C语言中,把经常变化的量叫做变量,把不变的量叫做常量。
变量创建语法
变量创建的语法形式:
int age
int为数据类型 ,age为变量名
初始化
变量在创建的时候就给⼀个初始值,就叫初始化。
例如
int a = 0
变量的分类
变量分为全局变量和局部变量。
全局变量:在⼤括号外部定义的变量就是全局变量
全局变量的使⽤范围更⼴,整个⼯程中都是有办法使⽤的
局部变量:在⼤括号内部定义的变量就是局部变量
局部变量的使⽤范围是⽐较局限,只能在⾃⼰所在的局部范围内使⽤的
#include<stdio.h>
int a = 0//全局变量
int main()
{
int a =10;//局部 变量
printf("%d\n",a);
return 0;
}
当局部变量和全局变量同名的时候,局部变量优先使用
拓展知识
- 局部变量是放在内存的栈区
- 全局变量是放在内存的静态区
- 堆区是⽤来动态内存管理的
PS:如有错误,请指正批评!