单片机c语言中可以把一个变量的值作为地址赋给指针变量吗?

假如chardata*p;chara=30H;我想把30H作为地址赋给p可以吗?即p=a;我直接写p=a;但是赋给p的不是30H而是a的地址。求解?... 假如 char data *p ;char a=30H ;我想把30H作为地址赋给p可以吗?即p=a ;
我直接写p=a ;但是赋给p的不是30H而是a的地址。求解?
展开
 我来答
kent_ghost
2012-12-10 · TA获得超过254个赞
知道小有建树答主
回答量:266
采纳率:98%
帮助的人:81.1万
展开全部
这个是可以的,具体应该是p=*a还是p=&a,不太记得了。不过建议楼主做这类地址操作的时候多加注意,毕竟风险是有点。
doclock
2012-12-10 · TA获得超过2581个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:154万
展开全部
理论上是可以的,不过这样有危险,而且也没有意义。单片机是8位的,地址有限,有些还访问不了。
追问
我直接赋了但是赋的不是是30H,而是a的地址。求解?
追答
p是指针,p=a这句的意思是将p指向a,也就是把a的地址付给p。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7bbac528f8
2012-12-10 · TA获得超过597个赞
知道小有建树答主
回答量:1706
采纳率:50%
帮助的人:939万
展开全部
指针变量p其实也就是个数字啊,不过30H个P 这样是危险的,因为你不知道这个地址放的是什么,也许编译器就不允许你使用。最好的话你自己调试一下。变量给地址是允许的
追问
我直接赋了但是赋的不是是30H,而是a的地址。求解?
追答
额,这个a不是等于30吗,当然只是p=30H啊,不是a的地址
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑谈我不言9514
2012-12-10 · TA获得超过622个赞
知道小有建树答主
回答量:522
采纳率:0%
帮助的人:313万
展开全部
把a的地址赋给p,应该是: p = &a;
而你直接写p = a;和p = 0x30;一样,有风险。还可能报错之类的。
追问
可是我想把a的值30H当做地址,那该怎么办?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式