关键字又称为保留字,就是已被C语言本身使用,不能作其它用途使用的字。例如关键字不能用作变量名、函数名等标识符。由ISO标准定义的C语言关键字共32个:auto、double、int、struct、break、else、long、switch、case、enum、register、typedef、char、extern、return、union、const、float、short、unsigned、continue、for、signed、void、default、goto、sizeof、volatile、do、if、while、static、inline、restrict _Bool _Complex _Imaginary _Generic。
一、基本数据类型
    void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(C89标准新增)
    char:字符型类型数据,属于整型数据的一种。(K&R时期引入)
    int:整型数据,表示范围通常为编译器指定的内存字节长。(K&R时期引入)
    float:单精度浮点型数据,属于浮点数据的一种。(K&R时期引入)
    double:双精度浮点型数据,属于浮点数据的一种。(K&R时期引入)
    _Bool:布尔型(C99标准新增)
    _Complex:复数的基本类型(C99标准新增)
    _Imaginary:虚数,与复数基本类型相似,没有实部的纯虚数(C99标准新增)
    _Generic:提供重载的接口入口(C11标准新增)
二、类型修饰关键字
    short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)
    long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)
    long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)
    signed:修饰整型数据,有符号数据类型。(C89标准新增)
    unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)
    restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)
三、复杂类型关键字
    struct:结构体声明。(K&R时期引入)
    union:联合体声明。(K&R时期引入)
    enum:枚举声明。(C89标准新增)
    typedef:声明类型别名。(K&R时期引入)
    sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)
    inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)
四、存储级别关键字
    auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配。与static相反。当变量未指定时默认为auto。(K&R时期引入)
    static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部。(K&R时期引入)
    register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数。(K&R时期引入)
    extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。(K&R时期引入)
    const:指定变量不可被当前线程改变(但有可能被系统或其他线程改变)。(C89标准新增)
    volatile:指定变量的值有可能会被系统或其他线程改变,强制编译器每次从内存中取得该变量的值,阻止编译器把该变量优化成寄存器变量。(C89标准新增)
五、跳转结构
    return:用在函数体中,返回特定值(如果是void类型,则不返回函数值)。(K&R时期引入)
    continue:结束当前循环,开始下一轮循环。(K&R时期引入)
    break:跳出当前循环或switch结构。(K&R时期引入)
    goto:无条件跳转语句。(K&R时期引入)
六、分支结构
    if:条件语句,后面不需要放分号。(K&R时期引入)
    else:条件语句否定分支(与if连用)。(K&R时期引入)
    switch:开关语句(多重分支语句)。(K&R时期引入)
    case:开关语句中的分支标记,与switch连用。(K&R时期引入)
    default:开关语句中的“其他”分支,可选。(K&R时期引入)
七、编译
   #define 预编译宏
    #if 表达式 #else if 表达式 #else #endif 条件编译
    #ifdef 宏 #else #endif 条件编译
    #ifndef 宏 #else #endif 条件编译与条件编译

C/C++语言简介之关键字的更多相关文章

  1. JavaScript学习01 语言简介、基本使用和变量声明

    JavaScript语言简介.基本使用和变量声明 JavaScript是网景(Netscape)公司开发的一种基于客户端浏览器.面向对象.事件驱动式的网页脚本语言. JavaScript的前身叫Liv ...

  2. 计算机程序和C++语言简介

    C++程序设计 第一章 计算机程序和C++语言简介 1.计算机是一台能够存储并处理数据的电子设备,包含硬件和软件两部分. 2.计算机硬件由: 1)中央处理单元(Central Processing U ...

  3. GO 语言简介(网摘)

    GO 语言简介 原文出处:[陈皓 coolshell] Hello World 文件名 HELLO.GO package main //声明本文件的package名 import "fmt& ...

  4. Go 语言简介(下)— 特性

    希望你看到这篇文章的时候还是在公交车和地铁上正在上下班的时间,我希望我的这篇文章可以让你利用这段时间了解一门语言.当然,希望你不会因为看我的文章而错过站.呵呵. 如果你还不了解Go语言的语法,还请你移 ...

  5. WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍

    这篇文章主要介绍了WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍,WQL是指Windows管理规范查询语言,需要的朋友可以参考下 WQL就是WMI中的查询语言,WQL的全称是W ...

  6. 01. Go 语言简介

    Go语言简介 引用原文地址:http://m.biancheng.net/golang/ Go语言也称 Golang,兼具效率.性能.安全.健壮等特性.这套Go语言教程(Golang教程)通俗易懂,深 ...

  7. 学习笔记:oracle学习三:SQL语言基础之sql语言简介、用户模式

    目录 1.sql语言简介 1.1 sql语言特点 1.2 sql语言分类 1.3 sql语言的编写规则 2.用户模式 2.1 模式与模式对象 2.2 实例模式scott 本系列是作为学习笔记,用于记录 ...

  8. D语言简介

    D语言,一种通用计算机程序语言,威力强大.功能丰富,支持多种编程范式,例如面向对象.[1]  D语言最初由Digital Mars公司就职的Walter Bright于2001年发布,意图改进C++语 ...

  9. Java语言简介、基础组成、封装、继承、多态、抽象类、内部类、接口

    目录 Java简介 Java语言基础组成 面向对象 对象 封装 构造函数 this关键字 static(静态关键字) 主函数 静态什么时候用呢? 面向对象(数组工具对象建立) 设计模式 继承 成员变量 ...

随机推荐

  1. MySQL 取得小时分钟部分

    MySQL 取得小时分钟部分 SELECT `CpParkID` , DATE_FORMAT( `UPDATE_TIME` , '%H:%i' )FROM `cp_park`WHERE HOUR( ` ...

  2. C# winform页面可视化设计打开失败,提示未能加载程序集或他的一个依赖项,dll错误

    这种情况发生在最初项目是x86属性,改成x64后,一些原来dll,页面没有及时更新,导致页面找不到dll, 最简单的解决方式,把项目属性改成AnyCpu,重新编译下,就可以打开可视化设计窗口了.

  3. jQuery给input绑定回车事件

    dataInput为Span元素ID <script type="text/javascript" src="Scripts/jquery-1.6.2.js&quo ...

  4. Azure Powershell使用已有特殊化非托管磁盘创建ARM虚拟机

    生成已有特殊化非托管磁盘的方法主要有如下两种: 1.使用StorageExplorer存储管理工具,复制特殊化磁盘到一个新的容器下 2.New Portal中删除虚拟机,默认vhd文件会保留在存储账号 ...

  5. Django 模版中如何对主菜单进行选中?

    问题描叙: 在实际模版中,返回的页面我们想要主菜单保持一种状态,这个主菜单进去的子页面,都需要保持主菜单选择状态 例如 主菜单是 课程, 下面展现的章节和视频页面时候, 课程这个主菜单在展现这个菜单下 ...

  6. .net Core连接MongoDB

    前两天在学习MongoDB相关的知识,做了个小Demo,大概是省份里面有多少所学校 连接MongoDB首先要通过Nuget添加一个MongoDB的包,下载此包 安装完毕后开始写代码了,创建一个省份实体 ...

  7. iOS学习——获取当前最顶层的ViewController

    在iOS开发过程中,我们经常性会需要获取当前页面的ViewController,然后利用ViewController进行一些操作,例如在最顶层的ViewController上展示一个UIAlertCo ...

  8. java基础-静态,非静态(构造)代码块,类加载

    static block and non-static block(constructor block) [toc] 想来想去,先来一题比较好 public class Foo { public st ...

  9. apache编译安装参数说明

    apache编译安装参数说明 ./configure //配置源代码树--prefix=/usr/local/apache2 //体系无关文件的顶级安装目录prefix ,也就apache的安装目录. ...

  10. 【转】linux shell 逻辑运算符、逻辑表达式

    shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决很多复杂的判断. 一.逻辑运算符  逻辑卷标表示意思 1.关于档案与目录的侦测逻辑卷标! -f常用!侦测‘档案’是否存在 eg: ...