Board logo

标题: c++涉及指针的程序(可正常编译)在运行时经常会出现异常? [打印本页]

作者: 范文捷    时间: 2010-8-4 23:40     标题: c++涉及指针的程序(可正常编译)在运行时经常会出现异常?

c++涉及指针的程序(可正常编译)在运行时经常会出现异常?
例如:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(void)
{
        int *pInt1=0;
        int *pInt2=NULL;
        cout<<*pInt1<<endl;
        cout<<pInt1<<endl;
        cout<<*pInt2<<endl;
        cout<<pInt2<<endl;
        return 0;
}
程序.exe 中的 0x004113f9 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
作者: fwbook    时间: 2010-8-5 08:39

int *pInt2=NULL;
为空,这样还有地址吗?
作者: 范文捷    时间: 2010-8-6 23:07

谢谢.难怪我经常用指针时出错.今天重新温习过书之后,才发现指针不能随意赋空值.这个不好的习惯可得改改了.
我原本还认为空指针只是数据为空,原来地址也为空.
作者: fwbook    时间: 2010-8-7 11:24

3# 范文捷


能解决问题,就好。




欢迎光临 万卷图书 (http://wanjuanchina.net/) Powered by Discuz! 7.0.0