Skip to content

数据

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修饰的变量,只能改变存在的时间,不能改变作用域