请问 为什么编译错误,static不可以定义外部变量吗?

来源:百度知道 编辑:UC知道 时间:2024/05/04 19:14:24
main源文件:
#include <stdio.h>
#include <stdlib.h>
void static1Processor(void);
int main(void) {
static1Processor();
return EXIT_SUCCESS;
}
extern int static1Variable;
void static1Processor(void) {
printf("static3Processor.static3Variable:%d\n", static1Variable);
}

外部变量文件:
static int static1Variable = 2006;

static定义了外部变量。
提示了编译错误,请大虾们指点啊!!
难道他的结果不因该是 static3Processor.static3Variable:2006 吗?

整个的 static1Variable 是作为一个变量名。不是以1开头的,是以s开头的 。

我把变量放在和main的不同的一个文件中了。

出错:compiled error

你能把那个编译错误贴出来么?

我没有看出有什么问题,在VS2008下编译链接运行

屏幕中输出:
static3Processor.static3Variable:2006

为什么你的函数,变量名前面要加1,数字可以作为标识符的开头么