说我在一个函数中使用全局变量来保存信号的值(在电路板感应的原理图中)
void randomfunction()
{
for(t=lnnew,s=node->name;*s;)
{
if()
//some code
else
*t=*s;
t++;
s++;
}
printf("%s \n",lnnew); //so now here lnnew is holding new values of signal and when i print this, every time new value of signal is printed and i have declared it as global
}
现在我如何在任何其他函数writelnnewvalue()
中使用此全局变量,以便当randomfunction()
中lnnew的值发生变化时,它还会得到更改并打印在writelnnewvalue ()
函数中?
我在this link中提出了类似的问题,如果它看起来是精确的副本,则将其标记为重复。
答案 0 :(得分:0)
您需要在包含在使用它的所有编译单元中的标头(.h
文件)中声明您的变量:
extern volatile int lnnew;
有一个编译单元(.c
文件)实际定义它
volatile int lnnew;
然后它将在包含标题的任何地方使用。 volatile
这里向编译器指示该变量受到不可预测的更改,并且不会被缓存。
答案 1 :(得分:-1)