C ++中的定义和声明之间有什么区别?

在C ++中,声明和定义经常被混淆。声明意味着(在C语言中)您是在告诉编译器有关类型,大小的信息,并且在函数声明的情况下,将其变量的参数的类型和大小或程序中用户定义的类型或函数告知编译器。在声明的情况下,内存中不会为任何变量保留空间。

另一方面,定义意味着除了声明所做的所有事情之外,还额外在内存中保留了空间。您可以说“定义=声明+空间保留”。

以下是声明的示例-

extern int a;                           // Declaring a variable a without defining it
struct _tagExample { int a; int b; };   // Declaring a struct
int myFunc (int a, int b);              // Declaring a function

以下是定义示例-

int a;
int b = 0;
int myFunc (int a, int b) { return a + b; }
struct _tagExample example;