二级指针的一个问题
{char* p,*q;
if(!(q=(char*)malloc(NODESIZE))
{
printf("error");
return -1;
}
······
*(char**)p=q;p=q;
······
}
这几句代码是截取出来的,创建链表用的,p是节点,q是新开辟的节点指针,
*(char**)p=q;p=q; 这两句代码连在一起是什么意思?前者的意思是相当于把q的值赋给p吗? 强制转换是临时的,但是这里第一句强制转换p为char**,那么到了p=q这里的p是char**还是char*呢?
[ 本帖最后由 黄昏黄昏 于 2013-3-11 19:10 编辑 ]