malloc返回的是指针还是指针的内容?
int* p;p = (int *) malloc (sizeof(int));//这里是p{:5_94:}
教学视频里又有一个
*T = (BiThrNode *)malloc(sizeof(BiThrNode))//用的又是*t
当然是指针
下面那个可能是指向指针的指针 指针,也就是地址。malloc 申请到内存块的首地址 是指针,申请到的堆空间的首地址,
他是不是写的是
int *T = (BiThrNode *)malloc(sizeof(BiThrNode));
或者另外一种情况就是T是一个二级指针,那*T也是一个指针了。 闪电猫网络 发表于 2017-11-22 08:39
是指针,申请到的堆空间的首地址,
他是不是写的是
int *T = (BiThrNode *)malloc(sizeof(BiThrNode));
...
大神们说的应该是对的,*t可能也是一个针。
如果去了()里面的*, 变成*T = (BiThrNode )malloc(sizeof(BiThrNode)),这个*T是不是就成内容了?可是它下面接着写(*T)->date=e 内容怎么可以用“->”而不是要用(*T).data ?? 闪电猫网络 发表于 2017-11-22 08:39
是指针,申请到的堆空间的首地址,
他是不是写的是
int *T = (BiThrNode *)malloc(sizeof(BiThrNode));
...
大神们说的应该是对的,*t可能也是一个针。
如果去了()里面的*, 变成*T = (BiThrNode )malloc(sizeof(BiThrNode)),这个*T是不是就成内容了?可是它下面接着写(*T)->date=e 内容怎么可以用“->”而不是要用(*T).data ?? *T是一个指向指针的指针,相当于是二级指针,*T就是一级指针,指针是可以用"->"的,函数采用"."。 是指针,申请到的堆空间的首地址 lhlm1994 发表于 2017-11-22 11:18
大神们说的应该是对的,*t可能也是一个针。
如果去了()里面的*, 变成*T = (BiThrNode )malloc(sizeof ...
如果按你说的,下边的代码有(*T)->date=e.
那说明T在这里是个二级指针.
我是担心你忽略了前面的int 定义.
页:
[1]