读书人

超级疑惑的指针有关问题

发布时间: 2012-01-11 22:28:46 作者: rapoo

超级疑惑的指针问题
#include <stdio.h>

typedef unsigned charBYTE;

BYTE* GetCurDate(BYTE* DATE)
{
BYTE *TempDate = 0;
*(TempDate) = 0x11;
*(TempDate+1) = 0x12;
*(TempDate+2) = 0x13;
return TempDate;
}

main()
{
BYTE *Date=0;
BYTE *bCurDate;
bCurDate = GetCurDate(Date);

printf( "windows 32bit platform point test function! ");
}


编译通过,不能运行.如何修改?结果bCurDate等于多少?

[解决办法]
返回的是局部变量指针,当然不行。
[解决办法]

BYTE* GetCurDate(BYTE* DATE)
{
BYTE *TempDate = 0;//TempDate被初始化为空指针,指向地址0x00000000
*(TempDate) = 0x11;//错误!试图向地址0x00000000写入BYTE数据0x11,产生异常
*(TempDate+1) = 0x12;//错误!原因同上
*(TempDate+2) = 0x13;//错误!原因同上
return TempDate;
}

读书人网 >VC/MFC

热点推荐