一、关键词

1.1

关键词意义
auto声明自动变量
int声明整型变量
double声明双精度变量
long声明长整型变量
char声明字符型变量
float声明浮点型变量
short声明短整型变量
signed声明有符号类型变量
unsigned生明无符号类型变量
struct声明结构体变量
union声明联合数据类型
enum声明枚举型变量
static声明静态变量
switch用于开关语句
case开关语句分支
default开关语句的“其他”分支
break跳出当前循环
register声明寄存器变量
const声明只读变量
volatile声明变量在程序执行中可被隐含改变
typedef用以给数据类型取别名
extern声明变量是在其他文件正声明(可以看作是引用变量)
return子程序返回语句
void声明函数无返回值或五参数,声明空类型指针
continue结束当前循环,开始下一轮循环
do循环语句的循环体
while循环语句的循环条件
if条件语句
else条件语句否定分支
for循环语句
goto无条件跳转语句
sizeof计算对象所占内存空间大小
  1. 定义与声明

定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它
取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和
这块内存匹配起来

声明:告诉编译器,这个名字已经匹配到一块内存上了;:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量名或对象名。

定义与声明最主要的区别:定义创建对象并为这个对象分配了内存,声明没有分配内存。

  1. auto

编译器在默认的缺省情况下,所有变量都是auto。

  1. register

请求编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率,由于寄存器无法存放过多变量,实际上只能尽可能存放。

  1. static

    • 修饰变量

[静态全局变量][]:作用域仅限于变量被定义的文件中,准确地说作用域是从定义之处开始,到文件结尾处结束,在定义之处前面的那些代码行也不能使用它。

[静态局部变量][]:在函数体里面定义的,就只能在这个函数里用了,同一个文档中的其他函数也用不了。由于被static修饰的变量总是存在内存的静态区,所以即使这个函数运行结束,这个静态变量值仍然还存在,即再次调用函数的时候,函数将以上一次执行的结果作为新的值。

    • 修饰函数
      函数前加static使得函数成为静态函数。但是此时static的含义不是指存储方式,而是指对函数的作用域局限于本文件(所以又称内部函数)。
    1. signed和unsigned

    有符号和无符号,即是否带正负。

    1. 基本数据类型
    graph LR
    A[C语言数据类型] --> B(基本类型)
    A[C语言数据类型] --> C(构造类型)
    A[C语言数据类型] --> D(指针类型)
    A[C语言数据类型] --> E(空类型)
    B --> F(数值类型)
    B --> G(字符类型)
    F --> H(整形)
    F --> I(浮点型)
    H --> 短整型short
    H --> 整型int
    H --> 长整型long
    I --> 单精度型float
    I --> 双精度型double
    C -->数组
    C -->结构体struct
    C -->共用体union
    C -->枚举类型enum
    Last modification:October 21st, 2019 at 09:55 pm