LNode* s; s = (LNode*)malloc(sizeof(LNode)); s->data.no = e.no;//e.no, e.name, e.author, e.pub, & e.price s->data.name = e.name; s->data.author = e.author; s->data.pub = e.pub; s->data.price = &e.price;
时间: 2024-03-18 12:44:34 浏览: 58
《数据结构与算法》上机实验教程..doc
这段代码是用 C 语言的方式动态申请了一个 LNode 结构体的内存空间,并将其中的 data 结构体成员初始化为 e 中对应的值。
其中,s 是一个指向 LNode 结构体的指针,通过调用 malloc 函数分配 sizeof(LNode) 大小的内存空间,并将其地址赋值给 s。
接着,通过 s->data.no = e.no 将 e.no 赋值给 s 指向的结构体中 data 的 no 成员变量。
接下来的几行代码,将 e 中对应的值赋给了 s 指向的结构体中 data 的 name、author、pub 和 price 成员变量。
需要注意的是,最后一行 s->data.price = &e.price 操作中,将 e.price 的地址赋值给了 s 指向的结构体中 data 的 price 成员变量。这样做的目的是为了让 s 和 e 中的 price 值指向同一个内存地址,这样当 e 中的 price 值改变时,s 中的 price 值也会随之改变。
阅读全文