当前位置:C++技术网 > 资讯 > VS 下未初始化变量的判断处理方法

VS 下未初始化变量的判断处理方法

更新时间:2017-10-10 10:15:18浏览次数:1+次

    今天帮学妹做数据结构的单链表作业的时候,遇到个问题,我正常的初始化结点,将数组中的元素值插入到链表中,但,最后的结点的next值是oxcccccccc,他是没有初始化的,因此我采用了正常的判断(书上也是这样的):

    

while(p->next!=NULL)或是while(p)
{......}

    

    但就是报错:未经处理的异常: 0xC0000005: 读取位置 0xcccccccc 时发生访问冲突.

C语言下就是有这种问题,内存管理真麻烦,我查了下oxcccccccc的意思:编译器会给未初始化变量的内存分配地址:oxcccccccc,因此不能按照上面的判断来处理,int 类型的未初始化内存是-858993460,于是我们可以这么处理:
while(int(p->next) != -858993460){...}
解决了,我们可以采用强制类转化来处理就可以了。