在 C 中声明 == 在 C++ 中定义? [复制]

Posted

技术标签:

【中文标题】在 C 中声明 == 在 C++ 中定义? [复制]【英文标题】:Declare in C == define in C++? [duplicate] 【发布时间】:2011-01-09 02:01:35 【问题描述】:

可能重复:What is the difference between a definition and a declaration?

在C中声明等于在C++中定义是否正确?

int a;     /* to declare variabel a in C */
int b = 2; /* to declare and initialize in C */


int c;     // to define in C++ 
int d = 4; // to define and initialize in C++ 

【问题讨论】:

欺骗***.com/questions/1410563/… 在 C 中声明等于在 C++ 中定义是否正确? 不,这没有意义。声明和定义是两个不同的术语。每个定义都是一个声明,但每个声明都不是一个定义。有关更多信息,请单击我提供的链接。 【参考方案1】:

没有。

对于函数,我看到“declare”仅用于编写标题,而“define”用于编写正文。

但是,这都是自然语言。在 C 示例中的“声明”对于 C 和 C++ 似乎都是正确的。

【讨论】:

【参考方案2】:

在 C 中,声明是告诉编译器它存在,而定义是给它分配一个实际值。

我看不出为什么这在 C++ 中会有所不同

【讨论】:

【参考方案3】:

是的 应该是

【讨论】:

以上是关于在 C 中声明 == 在 C++ 中定义? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

现代c++实践:变量声明强化,竟然可以在if/switch中定义变量!

#ifdef 标志来区分 gcc 和 g++ 编译器? [复制]

C ++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)[重复]

C/C++ 中 void main 和 int main 的区别? [复制]

C++中,怎么将函数模板的声明和定义分开写?

外部“C”是不是应包含 C++ 函数的声明或定义?