C Language Deep Analyse

时间:2022-12-25 01:50:52

1、记录几个少见的关键字
    auto 声明为自动变量,缺省时编译器一般默认为auto
    register 声明寄存器变量
    volatile 说明变量在程序执行中可被隐含地改变
    extern 声明变量是在其他文件中声明(也可以看作是引用变量)

2、什么是定义?
    所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是所说的变量名或对象名
    一个变量或对象在一定的区域内(比如函数内,全局等)只能被定义一次;如果定义多次,编译器会提示用户重复定义了同一个变量或对象

3、什么是声明?
    第一重含义:告诉编译器,这个名字已匹配到一块内存上了;声明可以出现多次
    第二重含义:告诉编译器,这个名字已被预订了,别的地方无法继续用它来作为变量名或对象名

4、总结
    定义和声明最重要的区别:定义创建了对象并为这个对象分配了内存,声明没有分配内存