松鼠呀 发表于 2020-6-1 21:08:38

malloc分配的内存为什么的变量为什么还要写成指针形式

尊敬的各位大佬,麻烦问一下T定义为指针后,为什么用指针指向数据的时候还要加*呀,第12行

qiuyouzhi 发表于 2020-6-1 21:12:23

malloc返回的是内存所在地址吧,所以要用指针

4goodworld 发表于 2020-6-1 21:17:30

我浅薄的理解
tree 是一个 结构体指针
而 &tree 对结构体指针进行取地址,不就是指针的指针吗?
然后传递给 函数做参数 T 就是一个二级指针
那么 *T 解引用之后不就是一个一级指针,不就是等于 tree 而这个类型 结构体指针吗? malloc返回的不都是一个地址(通常来理解,不就是返回一个一级指针) 你再看看 强制转换,我感觉说得通呀

chxchxkkk 发表于 2020-6-2 09:31:18

本帖最后由 chxchxkkk 于 2020-6-2 09:32 编辑

因为CreateBiTree(&Tree)这里传入的是结构体指针的地址,所以函数体内要用二级指针。
页: [1]
查看完整版本: malloc分配的内存为什么的变量为什么还要写成指针形式