首先,初始化和赋值是决然不同的。
初始化只是在声明同时定义。
赋值在声明后定义。
例如:
struct Node{
int x,y;
};
Node a = {1,2}; //可以的。
Node b;
b = {1,2} // 不可以。
介绍两种初始化方法:
Node a = { 1, 2 }; //按顺序初始化
Node b = [ .y=2, .x=1}; //按元素初始化
赋值要么在struct内定义方法:
(这种方法微软不介意使用,struct原本只是为了将数据打包,在其内定义方法有点不伦不类)
struct Node{
int x,y;
void assign(int a,int b){
x = a, y = b;
}
};
赋值经常使用;
(虽然这很麻烦)
Node a;
a.x = 1;
a.y = 2;