发布网友
共2个回答
热心网友
#include<stdio.h>
void x(void);
void y(void);
int main(void)
{
;
}
void y(void)
{
static char b = '2';
;
}
int a = 1;
//a 改成这样,全局变量存储类型是static的,没有static标识链接属性是 external
void x(void)
{
int c = 3;
static char b = '2';
static float d = 4;
}
b 的解释:
链接属性 (none) 表示 被当做单独的实体,
也就是该标识符的多个声明被当做的不同的实体。
所以应该放在函数内部,两个变量b 是两个不同的实例
这样才符合 none 的要求
----------------------------------
在别的文件声明a,怎么能保证这个文件中的函数x能使用而y不能使用呢?
void y(void);
void x(void);
int main(void)
{
;
}
void y(void)
{
}
extern int a;
void x(void)
{
a = 1;
}
另外的文件中定义变量a
int a;
问一下这是什么地方的问题?
对于正确理解c中变量的各种属性真的是非常好
参考资料:原创
热心网友
static char b = 2;
void y()
{
return;
}
extern int a;
void x()
{
int c = 3;
static float d = 4.0;
return;
}
另一个C文件中定义全局变量a:
int a = 1;