C语言个关键字详解.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C 语 言 中 32 个关键字详 由ANSI标准定义的C语言关键字共32个: autodoubleintstructbreakelselongswitch caseenumregistertypedefcharexternreturnunion constfloatshortunsignedcontinueforsignedvoid defaultgotosizeofvolatiledoifwhilestatic 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。 1 数据类型关键字 A 基本数据类型( 5 个) void :声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 char :字符型类型数据,属于整型数据的一种 int :整型数据,通常为编译器指定的机器字长 float :单精度浮点型数据,属于浮点数据的一种 double :双精度浮点型数据,属于浮点数据的一种 B 类型修饰关键字( 4 个) short :修饰 int ,短整型数据,可省略被修饰的 int long :修饰 int ,长整形数据,可省略被修饰的 int signed :修饰整型数据,有符号数据类型 unsigned :修饰整型数据,无符号数据类型 C复杂类型关键字(5个) struct :结构体声明 union :共用体声明 enum枚举声明 typedef :声明类型别名 sizeof :得到特定类型或特定类型变量的大小 D 存储级别关键字( 6 个) auto :指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部 register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数 形参,建议编译器通过寄存器而不是堆栈传递参数 extern :指定对应变量为外部变量,即在另外的目标文件中定义,可以认为是约定由另外 文件声明的韵蟮囊桓觥耙谩 con st :与volatile 合称“ cv特性”,指定变量不可被当前线程/进程改变(但有可能被系 统或其他线程 / 进程改变) volatile :与 const 合称“ cv 特性”,指定变量的值有可能会被系统或其他进程 /线程改 变,强制编译器每次从内存中取得该变量的值 2 流程控制关键字 A 跳转结构( 4 个) return :用在函数体中,返回特定值(或者是 void 值,即不返回值) continue :结束当前循环,开始下一轮循环 break :跳出当前循环或switch结构 goto :无条件跳转语句 B 分支结构( 5 个) if :条件语句 else :条件语句否定分支(与 if 连用) switch :开关语句(多重分支语句) case :开关语句中的分支标记 default :开关语句中的“其他”分治,可选 C循环结构(3个) for : for 循环结构, for(1;2;3)4; 的执行顺序为 1-2-4-3-2... 循环,其中 2 为循环条 件 do: do 循环结构, do1while(2); 的执行顺序是 1-2-1... 循环, 2 为循环条件 while : while 循环结构, while(1)2; 的执行顺序是 1-2-1... 循环, 1 为循环条件 以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。 C99和C89标准对比多了些什么 1、 restrict :指针类型修饰符 C99中增加了公适用于指针的restrict 类型修饰符,它是初始访问指针所指对象的惟一途 径,因此只有借助 restrict 指针表达式才能访问对象。 restrict 指针指针主要用做函数变 元,或者指向由 malloc() 函数所分配的内存变量。 restrict 数据类型不改变程序的语义。 如果某个函数定义了两个 restrict 指针变元,编译程序就假定它们指向两个不同的对 象,memcpy()函数就是restrict 指针的一个典型应用示例。C89中memcpy()函数原型如 下: 代码: void*memcpy(void*s1,constvoid*s2,size_tsize); 如果si和s2所指向的对象重叠,其操作就是未定义的。 memcpy()函数只能用于不重叠 的对象。C99中memcpy()函数原型如下: 代码: void*memcpy(void*restricts1,constvoid*restricts2,size_tsize); 通过使用 restrict 修饰 s1 和 s2 变元,可确保它们在该原型中指向不同的对象。 2、 inline (内联)关键字 内联函数除了保持结构化和函数式的定义方式外 ,

文档评论(0)

dianxin1241 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档