全局变量的使用问题
需要做这样一个处理:在头文件中声明一个变量,引用该头文件的C文件定义该变量,做一定处理后返回给头文件该变量的值。网上相关说法是:(1)在头文件中声明externintte...
需要做这样一个处理:在头文件中声明一个变量,引用该头文件的C文件定义该变量,做一定处理后返回给头文件该变量的值。网上相关说法是:
(1)在头文件中声明extern int testcount;
(2)在引用该头文件的C文件中定义int testcount =0;(假如做处理为testcount++;)
怎么把处理后的testcount的值返还给头文件? 展开
(1)在头文件中声明extern int testcount;
(2)在引用该头文件的C文件中定义int testcount =0;(假如做处理为testcount++;)
怎么把处理后的testcount的值返还给头文件? 展开
展开全部
返回给头文件该变量的值 这个说法是哪里来的 是不正确的
要想在多文件中使用同一个全局变量 需要在其中一个文件中定义,比如
int testcount;
或者int testcount=0; 都可以
然后在其他文件中声明 extern int testcount;
一般为方便管理,可以把声明部分放在头文件中,然后在其他文件中引用这个头文件,相当于在该文件中写声明语句
这样做的效果是,当你在任意一个文件(定义或者声明过的文件)中修改了该变量值 所有文件中的该变量都会同步修改
这样说法只是为了方便理解,其实有点不准确,因为实际上这样做后,各个文件中的该变量本质就是一个了,有着相同的内存地址
所以没有什么返还给头文件的操作
要想在多文件中使用同一个全局变量 需要在其中一个文件中定义,比如
int testcount;
或者int testcount=0; 都可以
然后在其他文件中声明 extern int testcount;
一般为方便管理,可以把声明部分放在头文件中,然后在其他文件中引用这个头文件,相当于在该文件中写声明语句
这样做的效果是,当你在任意一个文件(定义或者声明过的文件)中修改了该变量值 所有文件中的该变量都会同步修改
这样说法只是为了方便理解,其实有点不准确,因为实际上这样做后,各个文件中的该变量本质就是一个了,有着相同的内存地址
所以没有什么返还给头文件的操作
更多追问追答
追问
但是我想在头文件中使用经过源文件处理后的变量的值怎么办?用来做判断条件
追答
头文件一般只做声明用 不应该有任何处理函数
处理操作最好放在C文件中
如果一定要在头文件中操作变量 可以和C文件中同样处理(不建议这样做)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询