[英]Preprocessor c, [constant or variable]
我有3個文件:
在file1.h中,我聲明:
#ifdef SYMBOLE
extern int const my_var;
#else
extern int my_var;
#endif
在文件file2.c中,我定義了:
int my_var;
然后在file3.c中初始化my_var:
my_var = 4;
我的問題是,如果我這樣聲明my_var
則my_var
將被視為常量或變量,特別是如果定義了SYMBOLE
?
file2.c中的行不是定義,而是聲明。 (除非您初始化它)
因此,如果定義了SYMBOLE,則由於變量my_var的類型聲明沖突,您的變量將被視為常量,並在file2.c中導致編譯錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.