请问 为什么编译错误,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
#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,数字可以作为标识符的开头么