保留字(reserved word)
保留字又称关键字。
指在高级语言中已经定义过的字,使用者不能再将这些字作为变数名或过程名使用。
每种程序设计语言都规定了自己的一套保留字。
例如:BASIC语言规定不能使用LIST作为变数名或过程名,因为LIST是一个BASIC语言专用于显示内存程序的命令。
C有 22+10 = 32个关键字
C++ 有22+10+11+20 = 63 个关键字
JAVA 有22+ 9+ 17 = 48 个关键字 ps:以上内容来自百科。
其中,C89中,(C语言标准)中,
类型说明保留字:
int,long,short,float,double,char,unsigned,signed,const,void,volatile,enum,struct,union
语句定义保留字:
if,else,goto,switch,case,do,while,for,continue,break,return,default,typedef
存储类说明保留字:
auto,register,extern,static
长度运算符保留字:
sizeof
具体含义如下:
下面,我们就几个相对比较容易用错的保留字进行分析,主要包括
return, void, const, break, continue
以下内容参阅《c程序设计竞赛实训教程》和一些大牛博客结合写的。
1.return
return:结束一个函数并返回其后面表达式中的值。
初学的时候,有些不理解main 函数中return 0;有什么用,在写程序的时候老是忘记带上了。其实,带上return 0;是很有必要的。
main函数的返回值用于说明程序的退出状态,如果返回0,表示程序正常退出,否则表示程序异常退出。返回值传递给程序的激活者(操作系统)。
如果没有写return语句的话,c99(c语言标准)规定编译器自动在生成的目标文件中加入return 0;表示正常退出。
所以,为了代码规范,我们一般都必须带上return 0;
具体操作----- return (表达式);
其中,括弧是可以省略的。 一般不省略,如果返回值为表示式的时候容易造成混淆。
return返回值的类型:一般是函数定义的类型,如果return后表示式的值类型和函数值的类型不一致,则以函数函数类型为准,即:函数类型决定返回值类型。
需要注意的一点,也是易错的一点是:return不能返回指向局部变数的类型。----因为在函数结束时局部变数被自动销毁(上篇博客提及的局部变数的生存周期),则返回的指针为指向已释放的空间,再通过此指针进行操作就会产生错误。
下面通过程序具体说明: