c++的struct的初始化

c++的结构体初始化可以像c语言那样,也可以使用new关键词,返回这个结构体的指针,只是new也有两种写法。

比如

typedef struct LNode{

    ElementType data;

    struct LNode * next;

}LNode, * LinkList;


可以

LinkList L=new LNode();

也可以

LinkList L=new LNode;

看上去都可以,只是不带括号的情况下,指针变量给的值是随机的,而不是初始化为0,所以如果希望初始化一个链表结点的后继是NULL,请使用带括号的写法。

内存查看

c++的struct的初始化_第1张图片


c++的struct的初始化_第2张图片

---------------------------------------------------------------------------

后来查到国外大神总结的更具体一些

c++的struct的初始化_第3张图片

详情:https://stackoverflow.com/questions/5914422/proper-way-to-initialize-c-structs

你可能感兴趣的:(玩)