付费广告点击下降,跟c语言关键字字价格有关系吗

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

大连车为先科技有限公司导航开发工程师

extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。

现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。

如果你定义A.cpp和B.cpp中都定义了全局变量i。那么分别编译,都可以通过,但是链接时就会报错。

反之,如果我们希望A.cpp和B.cpp中使用的i是同一个i。也就是两个文件,共同使用同一个全局变量。如果我们不在B.cpp中定义i。那么编译时就会报错,提示

如果我们定义i就会出现上面所说的错误。

于是,我们需要extern关键字。告诉编译器。这个i我们在别的模块中定义过了。你要编译的话,取别的模块找一找。这样程序就能够自动去A.cpp中寻找i的定义。并且让它在B.cpp中可以被使用。

那在B.cpp中要使用变量 i 时,除了加extern声明外,还需要以头文件的形式把A.cpp包含进去吗,如果不#includes"A.cpp",我试过,程序B.cpp编译时会报错:变量 i 未定义。
你用的是Visual Studio吧。我也试过,在这个编译器里,加不加效果看不出来。
}

      关键词是由C语言规定的具有特定意义的字符串,通常也称为保留字,用户定义的标识符不应与关键词相同,C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类,具体如以下表格中显示:

声明浮点型变量或函数 
声明整型变量或函数 
声明长整型变量或函数 
声明短整型变量或函数 
声明有符号类型变量或函数 
声明结构体变量或函数 
声明共用体数据类型 
声明无符号类型变量或函数 
声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
一种循环语句(循环语句关键词)
循环语句的循环体(循环语句关键词)
循环语句的循环条件(循环语句关键词)
跳出当前循环(循环语句关键词)
结束当前循环,开始下一轮循环(循环语句关键词)
条件语句分支(条件语句关键词)
条件语句否定分支(条件语句关键词)
无条件跳转语句(条件语句关键词)
用于开关语句(开关语句)
开关语句分支(开关语句)
开关语句中的“其他”分支(开关语句)
子程序返回语句(返回语句)
声明自动变量(一般不使用)
声明变量是在其他文件正声明(也可以看做是引用变量)
声明常类型,常类型的变量或对象的值是不能被更新的,可使用在常量定义,指针定义,函数定义等处,与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)
用于计算特定类型或特定类型变量的数据类型长度
常规变量类型定义,数据类型取别名,指针类型定义,函数地址说明,函数声明,函数指针定义等
说明变量在程序执行中可被隐含地改变 说明变量在程序执行中可被隐含地改变,与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值

 在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。

      枚举值是常量,不是变量,不能在程序中用赋值语句再对它赋值;
      只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量;
      如一定要把数值赋予枚举变量,则必须用强制类型转换;

      枚举元素不是字符常量也不是字符串常量,使用时不要加单、双引号;

DAY1=(enum DAY)0;//正确,如一定要把数值赋予枚举变量,则必须用强制类型转换,其意义是将顺序号为0的枚举元素赋予枚举变量DAY1 DAY2=(enum DAY)1;//正确,如一定要把数值赋予枚举变量,则必须用强制类型转换,其意义是将顺序号为1的枚举元素赋予枚举变量DAY2 DAY3=(enum DAY)2;//正确,如一定要把数值赋予枚举变量,则必须用强制类型转换,其意义是将顺序号为2的枚举元素赋予枚举变量DAY3 /*对于DAY1=0;DAY2=1;DAY3=2;的编译在ubuntu的编译器下可以通过且可以把相应的值赋给相应变量,但是在VC下编译报错*/ DAY1=0;//错误,不能把元素的数值直接赋予枚举变量 DAY2=1;//错误,不能把元素的数值直接赋予枚举变量 DAY3=2;//错误,不能把元素的数值直接赋予枚举变量 SUNDAY=5;//错误,枚举值是常量,不是变量,不能在程序中用赋值语句再对它赋值 MONDAY=6;//错误,枚举值是常量,不是变量,不能在程序中用赋值语句再对它赋值

;这样的话,TUESDAY就将等于2,直接到SUNDAY等于7.  另:枚举类型定义规定,默认低一些枚举成员值为0,后一项枚举成员的值自动取前一项的枚举成员的值加1,在实际应用中,第一项的值不一定为0,所有的枚举变量也不一定是连续的,这时就需要显示赋值。 另:枚举赋值时不可以有重复,否则会报错;尽量从小到大排列,虽然乱序编译不会报错,但是会影响阅读和维护。

}

我要回帖

更多关于 c语言关键字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信