一:signed和unsigned
c语言使用signed和unsigned关键字来修饰字符型和整形类型的。
signed关键字,表示类型带有正负号,包含负值。
unsigned关键字,表示类型不带正负号,包含零和正数。
int默认带有正负号,所以int同等与signed int。
默认情况直接写int,省略signed,写了也不会报错
但是如果要表示非负整数,就需要unsigned声明变量。
整数变量声明为unsigned的好处是,同样长度的内存能够表示最大的整数值, 增大一倍。
例如,16位的signed short int 的取值范围为-32768—32767,最大是32767。
unsigned short int的取值范围为为0—65535,最大值增加到了32767。
unsigned int 在书写中可以把int省略直接写成unsigned。
字符类型char 也可以设置signed和unsigned。
注意 ,char类型默认是否带正负号由当前系统决定,也就是说char可能等于signed char 或者等于unsigned char 。
这一点与 int 不同,int等同于signed int 。
二:变量
c语言中把经常变化的值称为变量,不变的量称为常量。
变量创建的语法形式如下
什么是初始化呢?
变量在创建的时候给一个初始值,叫做初始化。
例如:
2.2 变量的分类
1.全局变量:在大括号外部定义的变量就是全局变量。
全局变量的使用范围更广,整个工程中想要使用,都有办法使用的。
2.局部变量
在大括号内部定义的变量就是局部变量。
局部变量的使用范围比较局限,只能在自己所在的局部范围内使用。
如果局部变量和全局变量,名字相同呢?
当局部变量和全局变量相同时,局部变量优先使用。
全局变量和局部变量在内存中存贮在哪里呢?
在学习c语言的时候,一般关注内存的三个区域:栈区,堆区,静态区
1.局部变量是放在内存的栈区
2.全局变量是放在内存的静态区
3.堆区是用来动态内存管理的