给指针赋值问题

hollyren 2007-05-15 03:20:16
如下面的例子:
int *p1;
p1=0x00000000;
这样有什么不对吗?
如果要改应该怎么改?
...全文
422 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxyifan 2007-05-15
  • 打赏
  • 举报
回复
在windows平台,给NULL指针分配了一段地址空间,这段地址空间是受保护的,不可以访问,如todototry(来csdn,学会扯淡了...)所说,这段空间应该是从0 x 0 0 0 0 0 0 0 0 0- x 0 0 0 0 F F F F,所以楼主这样写当然是可以的,呵呵
believe_me 2007-05-15
  • 打赏
  • 举报
回复
编译期可以过,但是如果赋给指针的地址超过允许的范围,会有运行时错误...
eggqq007 2007-05-15
  • 打赏
  • 举报
回复
可以,但是没什么用
PEPSI_COLA 2007-05-15
  • 打赏
  • 举报
回复
我用DEV C++编译通过,不过不知道你这样做的目的是干嘛
yutaooo 2007-05-15
  • 打赏
  • 举报
回复
这个要转型的吧。

reinterpret_cast<int *>(0x12345678);
todototry 2007-05-15
  • 打赏
  • 举报
回复
但是指针指向无效的内存地址,在win平台,0X00000000地址处的内存系统保护
不能使用这块
okokok
todototry 2007-05-15
  • 打赏
  • 举报
回复
可以的

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧