1.C++结构体有默认的构造函数
#include<cstdio>
using namespace std;
struct node
{
int m,n;
};
int main()
{
node a;
printf("%d %d\n",a.m,a.n);
return 0;
}
运行结果:
因为默认的构造函数没有形参且函数体里是空的,所以结构体没有被初始化,输出的值是系统给的,如果把结构体变量定义为全局变量,那么会输出0 0,这是因为全局变量和局部变量在没有初始化时,取初值方式不同,造成运行结果不同