动态分配内存后又被释放。那么指针会变成野指针,它接着能不能被再赋值为一个有效的指针???
osal_msg_deallocate((uint8*)MSGpkt);//打包消息时分配(释放了指针所指的空间)MSGpkt=(afIncomingMSGPacket_...
osal_msg_deallocate( (uint8 *)MSGpkt );//打包消息时分配(释放了指针所指的空间)
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SpiComApp_TaskID );//释放了指针所指向的空间,但指针还是存在(又被赋值)
目前程序是这样运行的,也没有任何问题。我认为这种做法是合法的。 展开
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SpiComApp_TaskID );//释放了指针所指向的空间,但指针还是存在(又被赋值)
目前程序是这样运行的,也没有任何问题。我认为这种做法是合法的。 展开
3个回答
展开全部
首先你要明白 指针 和 指针变量
你所说的 指针是指针变量 指针是地址 指针变量和普通的变量区别只是 指针变量存放的是 地址 指针变量自己有自己的地址
你说的没有任何问题是碰巧的关系
你所说的 指针是指针变量 指针是地址 指针变量和普通的变量区别只是 指针变量存放的是 地址 指针变量自己有自己的地址
你说的没有任何问题是碰巧的关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然可以啦,指针只是一个保存了一个内存地址的变量,你这样理解就明白了,你可以把一个指针从初始化,到变成野指针,再到指向新的元素的过程看作下面的过程:
int a = 10;
a = 0;
a = 5;
不要把指针看的太特殊
int a = 10;
a = 0;
a = 5;
不要把指针看的太特殊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询