单片机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的地址。求解? 展开
我直接写p=a ;但是赋给p的不是30H而是a的地址。求解? 展开
4个回答
展开全部
理论上是可以的,不过这样有危险,而且也没有意义。单片机是8位的,地址有限,有些还访问不了。
追问
我直接赋了但是赋的不是是30H,而是a的地址。求解?
追答
p是指针,p=a这句的意思是将p指向a,也就是把a的地址付给p。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针变量p其实也就是个数字啊,不过30H个P 这样是危险的,因为你不知道这个地址放的是什么,也许编译器就不允许你使用。最好的话你自己调试一下。变量给地址是允许的
追问
我直接赋了但是赋的不是是30H,而是a的地址。求解?
追答
额,这个a不是等于30吗,当然只是p=30H啊,不是a的地址
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把a的地址赋给p,应该是: p = &a;
而你直接写p = a;和p = 0x30;一样,有风险。还可能报错之类的。
而你直接写p = a;和p = 0x30;一样,有风险。还可能报错之类的。
追问
可是我想把a的值30H当做地址,那该怎么办?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询