美文网首页
一起学习C语言——关键字的那些事儿(一)

一起学习C语言——关键字的那些事儿(一)

作者: 哇哇卡 | 来源:发表于2018-05-08 04:52 被阅读16次

    说到C语言首先想到32个关键字:

    表(1.1)C 语言标准定义的 32 个关键字

    auto            声明自动变量,缺省时编译器一般默认为 auto

    int               声明整型变量;

    double       声明双精度变量;

    long           声明长整型变量;

    char          声明字符型变量;

    float          声明浮点型变量;

    short         声明短整型变量;

    signe         声明有符号类型变量;

    dunsigne   声明无符号类型变量;

    dstruct      声明结构体变量;

    union         声明联合数据类型;

    enum         声明枚举类型;

    static         声明静态变量;

    switch       用于开关语句;

    case          开关语句分支;

    default      开关语句中的“其他”分支;

    break        跳出当前循环;

    register    声明寄存器变量;

    const       声明只读变量;

    volatile     说明变量在程序执行中可被隐含地改变;

    typedef    用以给数据类型取别名(当然还有其他作用);

    extern      声明变量是在其他文件正声明(也可以看做是引用变量);

    return      子程序返回语句(可以带参数,也可不带参数);

    void         声明函数无返回值或无参数,声明空类型指针

    continue 结束当前循环,开始下一轮循环;

    do           循环语句的循环体;

    while       循环语句的循环条件;

    if             条件语句;

    else         条件语句否定分支(与 if 连用);

    for           一种循环语句(可意会不可言传);

    goto        无条件跳转语句;

    sizeof      计算对象所占内存空间大小(这是关键字,而不是方法哦!)

    在讲关键字之前需要清楚两个十分重要的概念:什么事定义?什么是声明?它们有什么区别?

    举个例子:

    A)int i;

    B)extern int i;(关于 extern,后面解释)

    什么是定义:所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名和对象名。但注意,这个名字一旦和这块内存匹配起来,它们就同生共死,终生不离不弃。并且这块内存的位置也不能被改变。一个变量和对象在一定区域内(比如函数内/全局等)只能被定义一次,如果定义多次,编译器会提醒你重复定义同一个变量或对象。

    什么是声明:有两重含义,如下:

    第一重含义:告诉编译器,这个名字已经匹配到一块内存上了(只是宣告已经名花有主~),下面的代码用到变量或对象是在别的地方定义的。声明可以出现多次。

    第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量名或对象名。比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预订,别人再也不允许使用这个座位。其实这个时候你本人并没有坐在这个座位上。这种声明最典型的例子就是函数参数的声明,例如:void fun(int i, char c);

    好,这样一解释,我们可以很清楚的判断:A)是定义;B)是声明。

    那他们的区别也很清晰了。记住,定义声明最重要的区别:定义创建了对象并为这个对象分配了内存,声明没有分配内存

    相关文章

      网友评论

          本文标题:一起学习C语言——关键字的那些事儿(一)

          本文链接:https://www.haomeiwen.com/subject/paabrftx.html