永发信息网

L=(linlklist) malloc(sizeof(node))什么意思呢

答案:4  悬赏:20  手机版
解决时间 2021-03-16 23:17
  • 提问者网友:骑士
  • 2021-03-16 15:51
L=(linlklist) malloc(sizeof(node))什么意思呢
最佳答案
  • 五星知识达人网友:往事隔山水
  • 2021-03-16 17:04
L是个需要空间的变量,linlklist????如果你写在这里的话就是把用malloc分配的空间强制转换linlklist那个类型,不知道你是不是前面定义了这个是什么意思,我没见过啊,一般都是为指针分配空间的啊,一般是char * ; sizeof(node)的意思就是node的大小,malloc分配这么大的空间给L。
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-03-16 19:18
为你的结点L动态分配内存
你前面结构体是否这样定义的
typedef struct lnode
{ ...数据项
...指针
}*linklist;
函数的原型extern void *malloc(unsigned int num_bytes)
(linklist)是你定义的这种struct lnode这种类型的指针,也可以写成(struct lnode*)malloc(...)
因为如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL

其中sizeof是取你定义的结构体取其总的字节数,即malloc后的括号内是要分内内存空间的大小
用sizeof函数获取

而整个分配的返回值是你定义结点*L的指针 也就是L
  • 2楼网友:深街酒徒
  • 2021-03-16 18:08
不清楚是什么 malloc是一个动态分配内存的函数,它的原型是 void * malloc(size_t size) 前面的void * 表示返回值是一个任意类型的指针,size_t size 这个参数是表示,有size字节,其中,size_t 是和unsigned一样,无符号整型数.你的这个表达式应该是链表和结构这一章的LINK 有可能是用typedef定义的一个结构的别名, note 是一个节点,即一个结构用sizeof()这个函数求出其占用的字节数.如果是上面说的那样,则表达式应该是head3=(LINK *)malloc(sizeof(node));若还有问题请Q : 85818748
另外,站长团上有产品团购,便宜有保证
  • 3楼网友:神鬼未生
  • 2021-03-16 17:21
分配结构node的size大小的内存,强制转换为linlklist类型,赋值给指针P
node是typedef struct定义的结构,linlklist你就自己看是定义的什么类型指针吧
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯