搜索
楼主: yaojinbao
打印 上一主题 下一主题

C语言关键字大全【共32个】

[复制链接]
16#
发表于 2013-2-16 20:13:08 | 只看该作者
很有用。。。。。。。。。
17#
发表于 2013-5-13 02:30:57 | 只看该作者
恨游泳
18#
发表于 2013-5-13 02:31:26 | 只看该作者
......恨强大
19#
发表于 2013-5-17 12:28:54 | 只看该作者
相当的不错。
20#
发表于 2013-5-25 11:11:53 | 只看该作者
其实你总结的很好啊。
21#
发表于 2013-7-6 21:19:48 | 只看该作者
确实很有用 收下了
22#
发表于 2013-7-30 20:14:47 | 只看该作者

关键字大全。没事的来加深记忆

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


  3. auto
  4. 声明自动变量,缺省时编译器一般默认为 auto
  5. int
  6. 声明整型变量
  7. double
  8. 声明双精度变量
  9. long
  10. 声明长整型变量
  11. char
  12. 声明字符型变量
  13. float
  14. 声明浮点型变量
  15. short
  16. 声明短整型变量
  17. signed
  18. 声明有符号类型变量
  19. unsigned
  20. 声明无符号类型变量
  21. struct
  22. 声明结构体变量
  23. union
  24. 声明联合数据类型
  25. enum
  26. 声明枚举类型
  27. static
  28. 声明静态变量
  29. switch
  30. 用于开关语句
  31. case
  32. 开关语句分支
  33. default
  34. 开关语句中的“其他”分支
  35. break
  36. 跳出当前循环
  37. register
  38. 声明寄存器变量
  39. const
  40. 声明只读变量
  41. volatile
  42. 说明变量在程序执行中可被隐含地改变
  43. typedef
  44. 用以给数据类型取别名(当然还有其他作用)
  45. 下面的篇幅就一一讲解这些关键字。但在讲解之前先明确两个概念:
  46. 什么是定义?什么是声明?它们有何区别?
  47. 举个例子:
  48. A)int
  49. i;
  50. B)extern int
  51. i;(关于 extern,后面解释)
  52. 哪个是定义?哪个是声明?或者都是定义或者都是声明?我所教过的学生几乎没有一
  53. 人能回答上这个问题。这个十分重要的概念在大学里从来没有被提起过!
  54. 什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它
  55. 取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和
  56. 这块内存匹配起来(可以想象是这个名字嫁给了这块空间,没有要彩礼啊。^_^),它们就同
  57. 生共死,终生不离不弃。并且这块内存的位置也不能被改变。一个变量或对象在一定的区
  58. 域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义
  59. 同一个变量或对象。
  60. 什么是声明:有两重含义,如下:
  61. 第一重含义:告诉编译器,这个名字已经匹配到一块内存上了(伊人已嫁,吾将何去何
  62. 从?何以解忧,唯有稀粥),下面的代码用到变量或对象是在别的地方定义的。声明可以出
  63. 现多次。
  64. 第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量
  65. 名或对象名。比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预
  66. 订,别人再也不允许使用这个座位。其实这个时候你本人并没有坐在这个座位上。这种声
  67. 明最典型的例子就是函数参数的声明,例如:
  68. void fun(int
  69. i, char
  70. c);
  71. 好,这样一解释,我们可以很清楚的判断:A)是定义;B)是声明。
  72. 那他们的区别也很清晰了。记住,定义声明最重要的区别:定义创建了对象并为这个
  73. extern
  74. 声明变量是在其他文件正声明(也可以看做是引用变量)
  75. return
  76. 子程序返回语句(可以带参数,也可不带参数)
  77. void
  78. 声明函数无返回值或无参数,声明空类型指针
  79. continue
  80. 结束当前循环,开始下一轮循环
  81. do
  82. 循环语句的循环体
  83. while
  84. 循环语句的循环条件
  85. if
  86. 条件语句
  87. else
  88. 条件语句否定分支(与 if 连用)
  89. for
  90. 一种循环语句(可意会不可言传)
  91. goto
  92. 无条件跳转语句
  93. sizeof
  94. 计算对象所占内存空间大小
复制代码
23#
发表于 2013-7-30 20:25:08 | 只看该作者
回贴也是一种对别人的肯定,哈哈:)
24#
发表于 2013-7-30 23:17:33 | 只看该作者
回贴也是一种对别人的肯定,哈哈:)
25#
发表于 2013-8-13 09:06:00 | 只看该作者
很好的资料
26#
发表于 2013-9-19 01:20:14 来自手机 | 只看该作者
……………………
27#
发表于 2013-9-19 19:33:03 | 只看该作者
15892306618 发表于 2013-9-19 01:20
……………………

                  
28#
发表于 2013-10-30 20:46:47 | 只看该作者
回头看看果然不一样
29#
发表于 2013-10-31 00:54:37 | 只看该作者
这里关于定义和声明的解释错了,至少表述得不好

同一个符号可以在函数内定义多次,只要不是同一个scope内就可以
例如struct type{int a, b} type; struct tag和一般变量名不在同一个scope内所以不会有问题
int i; {int i;},一个block划分出scope,所以也不会有问题

简单地说,声明就是告诉编译器,这个符号已经被占用了
定义本来就是一种声明,如果某个声明为变量预留了空间,那么就是一种定义;或者函数声明包含了函数体;以及枚举常量或者typedef,声明和定义是同一种东西
严格表述可以参考ISO C的文本
30#
发表于 2013-10-31 09:35:06 | 只看该作者
rosynirvana 发表于 2013-10-31 00:54
这里关于定义和声明的解释错了,至少表述得不好

同一个符号可以在函数内定义多次,只要不是同一个scope内 ...

en......               
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表