关于动态内存分配问题 求大佬解答
struct LNode
{
int date;
struct LNode * next;
}

struct LNode *L;

请问
L = (LNode*)malloc(sizeof(LNode));

L.next = (LNode*) malloc(sizeof(LNode));

请问这两句话有区别吗,第一句话是不是等同于 L是所分配的内存块的名字?在L上操作等同于在所分配的内存块上操作?

2个回答

一个是L节点
一个是L的next

等同于 L是所分配的内存块的名字?在L上操作等同于在所分配的内存块上操作
这么理解没问题,但是一般来说“名字”科学的说法叫做指针变量。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复weixin_45631165: 指向的内存块(这个内存块是火车头)所指向的内存块(这个内存块是1号车厢),都是内存块,但是此内存块非彼内存块
3 个月之前 回复
weixin_45631165
weixin_45631165 L->next 指向的是内存块 还是指 指向的内存块所指向的内存块 啊,在网上搜了好多答案不太一样 感谢大佬!
3 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复weixin_45631165: 一个是火车头,一个是1号车厢
3 个月之前 回复
weixin_45631165
weixin_45631165 L节点指向内存和L的next指向内存有什么区别吗 大神
3 个月之前 回复
weixin_45631165
weixin_45631165 大佬 这两句话是不是都表示L的指针域指向所分配的内存块?
3 个月之前 回复

这不对吧。首先L是个指针。应该是L->next.
第一个分配的是L,可以认为是第一个节点。第二个分配的是下一个节点的空间

weixin_45631165
weixin_45631165 谢谢 明白了
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问