您好、欢迎来到现金彩票网!
当前位置:九乐棋牌 > 文件定义 >

头文件中定义和声明的问题

发布时间:2019-05-27 06:29 来源:未知 编辑:admin

  三个例外:1)值在编译时就已知的const变量的定义可放在头文件中,如:const int num=10;

  3.在多个C文件的程序中,想在头文件中声明定义几个变量,如果给声明的变量赋值,则提示重复定义,在声明的变量前加extern只对变量进行声明,可是在什么地方给变量赋值呢??

  答:加了extern后,就可以在其他任何引用此文件的地方来进行赋值的。比如说,可在主文件中进行赋值。

  5。 只有全局变量并且没有被static声明的变量才能声明为extern。所以,如果你不想自己源文件中全局变量被其他文件引用,你就可以给变量加上static声明。

  定义也是声明。C++中有个关键字用来声明变量的,即extern。它声明一个变量,而不定义它。

  举例说明:假设在文件1.cpp中定义了一个全局变量bufsize,文件1.cpp中当然能访问它,如果我想在文件2.cpp中访问这个全局变量,这时候需要在文件2.cpp中声明这个变量。

  这里说的是非const的全局变量,如果是const的全局变量,如果想被其他文件访问,需要在定义时,加上extern关键字,表示它可被其他文件声明使用的。否则的话,这个变量只能在它被定义的文件里面被访问,其他文件不能访问。

  为什么非const变量定义时候没有extern??答:非const变量默认为extern,const变量默认为文件的局部变量。而const变量如果想在其他文件里被访问,必须显示的指定它为extern。

  6. C++标准并没有规定头文件中不能定义变量,只不过如果在头文件中定义变量,而该头文件又被多次包含的话,会造成变量的重新定义。

  8. static全局变量是有文件作用域的。在a.c中用了,在其他文件中就不能使用了。static变量一般放在.cpp或者.c文件中。不放在.h文件中。

  注意:要把头文件的内容都放在#ifndef和#endif中。不管头文件会不会被多个文件引用,都要加上这个。

  理论上说可以自由命名。但是每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中.也变成下划线。 如:stdio.h

http://isleofmanguide.com/wenjiandingyi/42.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有