Appearance
数据
C语言只有四种基本类型:整形、浮点型、指针、聚合类型
整形
只规定有每个类型的最小值,短整型,整形,长整型没有规定必须不一样长,但是长整型>=整形>=短整型,长整型>=32位,短整型>=16位
规定位于limits.h
char:如果声明signed和unsigned可以提高可移植性,但是有可能会降低处理速度,最好的办法是使用两者的交集,只有在进行显式声明的时候才可以进行算术运算。
常量(字面值)
在直接输入一个常量的时候,会给它分配一个最小的但是可以容纳类型
字符常量如'a', '\n'等都是默认为int类型
浮点数
默认情况下是double型的变量
指针
- 指针常量
- 字符常量
- ...
声明:
C
int *a, b, c;//只有一个指针
int *a, *b, *c;//定义三个指针
注:在声明指针常量的时候要注意const位置不同带来的差异
C
int const *a;//指针的指向的对象的值不能改版
int * const a;//指针指向的地址不能改变
作用域
有四种
- 文件作用域
- 函数作用域
- 代码块作用域
- 原型作用域:在函数声明的括号之中声明的变量
函数的形参的作用域是在在外层的括号之中
链接属性
- extern 定义的全局变量,用于一个标识符的第一次声明,在其他位置不生效
- internal 定义为static的变量,只能在文件内使用
- none 函数的声明以及函数内部定义的变量
存储的类型
- 普通内存:static
- 运行时候的堆栈:auto
- 硬件寄存器
注:使用static修饰的变量,只能改变存在的时间,不能改变作用域