簡體   English   中英

預處理器c,[常量或變量]

[英]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_varmy_var將被視為常量或變量,特別是如果定義了SYMBOLE

file2.c中的行不是定義,而是聲明。 (除非您初始化它)

因此,如果定義了SYMBOLE,則由於變量my_var的類型聲明沖突,您的變量將被視為常量,並在file2.c中導致編譯錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM