- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C 语言中 32 个关键字详解
由 ANSI 标准定义的 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
根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。 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:指定对应变量为外部变量,即在另外的目标文件中定义,可以认为是约定由另外 文件声明的韵蟮囊桓觥耙 谩?
const:与 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 循环结构,do 1 while(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, const void *s2, size_t size);
--------------------------------------------------------------------------------
如果 s1 和 s2 所指向的对象重叠,其操作就是未定义的。memcpy()函数只能用于不重 叠的对象。
您可能关注的文档
最近下载
- MX480路由器操作手册.doc VIP
- 医学课件-神经内科常见病.pptx VIP
- 电子支付与网络金融复习资料.doc VIP
- 2025年项目管理公司组织架构、岗位、职能设置方案.pdf VIP
- 2024安徽长丰科源村镇银行员工招聘20人笔试历年典型考题及考点剖析附带答案详解.docx VIP
- 普通心理学第五版PPT完整全套教学课件.pptx VIP
- 2023安徽长丰科源村镇银行招聘5人笔试历年典型考题及考点剖析附带答案详解.docx VIP
- 《GBT13341-1991-质量损失率的确定和核算方法》.pdf
- 节约用水条例培训解读课件.pptx VIP
- 山东省临沂市蒙阴县第一中学2024-2025学年高三下学期第三次模拟考试语文试题(含答案).pdf VIP
原创力文档


文档评论(0)