【发布时间】:2012-10-29 14:00:03
【问题描述】:
如果我有两个源文件和一个头文件:file1.c、file2.c 和 header.h,并且:
--header.h--
int i;
--file1.c--
#include <header.h>
i = 10;
int main() {
func();
return 0;
}
--file2.c--
#include <header.h>
void func() {
printf("i = %d\n", i);
return;
}
我收到i 默认为int 的警告。例如,如果我想将i 作为float,我该怎么办?
【问题讨论】:
-
如果我将 i 声明为浮点数,我会收到“冲突类型”错误。
-
您的
i = 10在任何函数之外,因此它永远不会被执行。相反,它被认为是缺少类型的变量定义,编译器会填写该类型。但是,要提出解决方案,我需要知道您要通过此实现什么。
标签: c