简单的C++函数参数传递问题 10

#include<iostream>#include<fstream>usingnamespacestd;intmain(){//寻找bmp文件中,文件的高和宽FILE*... #include <iostream>
#include<fstream>
using namespace std;
int main()
{
//寻找bmp文件中,文件的高和宽
FILE *file_bmp;
file_bmp=fopen("图片测试文档.bmp","rb");
if(NULL==(file_bmp))
{
return -1;
}
fseek(file_bmp,0x0012,SEEK_SET);
int *iWidth;
int *iHeight;
fread(iWidth,4,1,file_bmp);//这里有问题,应该是参数传递错误导致的
fseek(file_bmp,0x0016,SEEK_SET);
fread(iHeight,4,1,file_bmp);

/*
int iWidth,iHeight;
fread(&iWidth,4,1,file_bmp);//这样结果是对的,但是理论上两种方法是相同的啊
fseek(file_bmp,0x0016,SEEK_SET);
fread(&iHeight,4,1,file_bmp);
*/
return 0;
}
为什么第一种方法引起内存错误?
展开
 我来答
Azure皓哥
2017-07-19 · TA获得超过524个赞
知道小有建树答主
回答量:383
采纳率:46%
帮助的人:66.7万
展开全部
很简单,因为你第一种只是定义了一个指针,而它并没有指向实际的内存区域,没有指向内存区域怎么能写入数据呢?
回去好好看看指针把
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式