if (!(*pp = (LinkType)malloc(sizeof(NodeType) * 1))) 那里错了?谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/20 02:01:44
这是关于C语言的

你至少得把变量定义也一起发上来吧..

pp 如果是普通指针,那么给指针赋值直接用 "pp = ***"就好了,不必要加 * 号,加了 * 号表示的是指针pp所指向的内存空间,如果它不是相应类型的就会出错
另外,malloc返回的是void型的指针,你强制转换必须也为指针,检查一下你的LinkType

顺便,malloc创建时为什么 sizeof(NodeType) 而强制转换为 LinkType ?
你想要的是不是这样的效果:
if (!(pp = (NodeType *)malloc(sizeof(NodeType) * 1)))