我已经开始学习链表概念。我遇到过一些代码。如果有人解释下面的代码会发生什么,那将会非常有帮助。我尝试过搜索,但找不到正确的答案。
struct node *new1;
new1 = (struct node*)malloc(sizeof(struct node));
最佳答案
struct node *new1;
这会分配一个局部变量,可能在堆栈上,类型为“指向结构节点的指针”。
new1 = (struct node*)malloc(sizeof(struct node));
这会分配一个适当对齐的内存块,该内存块足够大,可以容纳一个结构节点
(可能来自堆),并将new1
设置为指向该新分配的 block 。该 block 将保持分配状态,直到进程终止或 block 被释放。 Actor 阵容不是必需的。
关于c - 当动态内存分配显式转换为结构类型时,到底会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56759412/