11问答网
所有问题
指针变量
指针变量赋值问题
举报该问题
推荐答案 2012-02-07
不要这样赋值,虽然将3赋给*i_pointer语法上没问题,但是执行程序时会出问题,指针没有初始化。只知道*i_pointer是3,这样可能做会出现内存访问的冲突。例如:
#include<iostream>
using namespace std;
int main(){
int*i_pointer;
*i_pointer=3;
cout<< *i_pointer<<endl;
system("pause");}
能通过编译,但实际运行中出现了错误:ceshi1.exe 中的 0x00be13de 处有未经处理的异常: 0xC0000005: 写入位置 0xcccccccc 时发生访问冲突
正确做法:
#include<iostream>
using namespace std;
int main(){
int*i_pointer;
int i=3;
i_pointer=&i;
cout<< *i_pointer<<endl;
system("pause");}
必须指定一个可用的地址赋给指针,如: i_pointer=&i;(之前定义了该变量)
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/842S4FqPF.html
其他回答
第1个回答 2012-02-08
int i,*i_pointer=&i;
i=3; //合法
*i_pointer=3;//合法
i_pointer=3;// 编译器不会判你错,也不是不合法,不过你要明白,这是什么意思!!!
比如直接读内存内容:
i_pointer = 0xff7f; //指向新的地址:0xff7f
if(*i_pointer==0) //只读也不一定没问题,有些地址不许读访问 但也不一定都是问题,知道物理地址时,就有可能直接给指针赋值,DOS年代时就常有这么做法
第2个回答 2012-02-07
什么问题 ,不是讲得很明白么
相似回答
指针与
指针变量
的概念是什么?
答:
1、指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,
指针变量
是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数...
大家正在搜
一维指针变量怎么定义
C语言复合数据类型
定义两个指针变量
定义一个指针变量
c语言指针p和*p区别
定义指针变量的一般格式为
指针变量和指针常量
变量直接给指针赋值
指针变量怎么进行互相赋值