请问L=(linklist)malloc(sizeof(lnode))中()malloc和sizeof()括号里分别是什么含义,这两个可以一样
发布网友
发布时间:2022-05-15 09:55
我来回答
共2个回答
热心网友
时间:2023-10-19 04:22
malloc是动态开辟内存,函数返回为void型指针(指向开辟的内存空间)
前面那个括号是开辟内存的类型,如L=(linklist*)malloc(sizeof(lnode)),就是将原来malloc返回的void型指针强制定义为 linklist型(也就是你一开始定义的指针L的类型),这样才可以赋值给L.
sizeof(Inode)是指malloc开辟的内存空间的大小,这里就是指,这个大小为Inode型所占的容量.(例如sizeof(int),就是开辟一个整形的空间(4字节).分配两个int的空间就是2*sizeof(int))
热心网友
时间:2023-10-19 04:22
malloc()是内存分配,里面单位是字节
sizeof()是获得类型的内存大小也是字节为单位
那么假设lnode 是一个变量类型的话。意思就是分配内存大小为sizeof(lnode)。
32位操作系统下:例如inode是一个int型那么malloc(sizeof(4))也就是分配4个字节大小的内存把malloc函数的返回地址赋值给L追问我就是搞不明白(linklist)malloc(sizeof(lnode))里malloc前面那个括号和 sizeof后面的括号里该写什么,麻烦再解释下