结构体定义 一般关键字 struct {}
里面定义一些属性,其实 类似于java 中的bean class
typedef struct work{
int age;
char* name;
};
//定义一个work 结构体 属性 age,name
如何使用结构体
work wor; //定义 类似于java new 了一个 work 结构体 就能调用这个对象赋值
//但是这种情况 每个属性是没有初始值的
wor.age = 23;
wor.name="nihao";
结构体指针
结构体指针两种写法
work wor;
wor.age = 23;
wor.name="nihao";
//第一种
work * w_p = &wor; //定义了work 的结构体类型的指针
w_p->name = "hhh";
//这时候 我们的wor name 就变成了hhh
//第二种
work* w_p2 = static_cast<work *>(malloc(sizeof(work))); //相当于创建了一个结构体指针
//也是没有初始化的。需要初始化赋值
结构体的构造函数
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {
}
};
相当于声明构造函数 参数为 int ,将x 赋值给 val, next 初始化为NULL