集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 893|回复: 0

指针以后

[复制链接]
zhiweiqiang33 发表于 2012-10-25 16:17:20 | 显示全部楼层 |阅读模式
问题:
1、int *p=NULL;
*p=100;
NULL是一个宏定义,定义如下:#define NULL 0
我这样理解:第一句句的意思是定义指针变量p,p指向0x0000这个地址,第二句的意思为给0x0000这个地址赋值为100
2、假如我现在想让p指向0x0010这个地址并赋值为100,为什么我这样写会出错:
int *p=0x0010; *p=100;

但改成如下int *p=(int *)(0x0010); *p=100; 这样编译后测试正确。

从道理上讲,int *p=0x0010; 应该也是可以的把?为什么写成NULL就可以,写成0x0010就不行?
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-26 18:06 , Processed in 0.066772 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表