请教 指针地址为什么会变
我需要一个动态链表来存储服务器发来的数据,过程是这样的,服务器发来的数据先放在一个临时变量tmpVdata里面,然后创建一个节点,再调用insertNode把节点插到链表尾部,但是奇怪的是我在insert函数里面把打印出来的节点地址和外面的不一样,相关代码如下:
void insertItem(BufferListItem const head, BufferListItem insertNode)
{
BufferListItem pVdata = head;
while(pVdata->videoDataLink!=NULL){
pVdata = pVdata->videoDataLink;
}
pVdata->videoDataLink = insertNode;
printf("pVdata addr in insertItrm : %x\n",pVdata);//此处地址为442098
insertNode->videoDataLink = NULL;
}
……
insertItem(tmpHead, tmpVdata);//对insert的调用位于一个线程里面
printf("head link addr after insert:%x\n",tmpHead->videoDataLink);//此处地主为27600000