C语言,变量存储地址,取数据

c语言。a是一个变量,b是一个变量,c是一个一维数组。已知变量a存放这数据b的地址,如何将变量b的值赋值给c[0]。例如b的地址为0x20000000,即a=0x2000... c语言。a是一个变量,b是一个变量,c是一个一维数组。
已知变量a存放这数据b的地址,如何将变量b的值赋值给c[0]。
例如b的地址为0x20000000,即a=0x20000000。如何将b的值赋值给c[0]?
u32 a
u32 c[10];
a=0x20000000; //a存放着某个变量b的地址

如何通过a获取b的值?并将它赋值给c[0]
展开
 我来答
lifeA2
2013-09-28
知道答主
回答量:11
采纳率:0%
帮助的人:5.9万
展开全部
如果a是指针变量,则c[0]= *a; 如果a不是不是指针变量,例如c为char类型数组,a为long变量,则先 定义一个char * 变量 ,如 char * ch; 接着 ch = a; 最后 c[0] = *ch;
追问
请看补充的问题,谢谢
追答
u32 * s = a;
c[0] = * s;

如果你是32位编程的话,可以这样做
如果是64位的话 ,那 a 应该换成一个 64位的变量
66655742
2013-09-28 · 超过28用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:43.9万
展开全部
c[0]=a;或
c[0]=&b;
追问
c[0]=a,那c[0]不就是等于0x20000000了吗?请看追问内容
追答
是的,等于0x20000000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
知了linux
推荐于2016-02-17
知道答主
回答量:10
采纳率:0%
帮助的人:7.9万
展开全部
c[0]=*a;

或者

c[0]=*(int *)a;

楼上也对,稍麻烦
追问
请看追问内容
追答
c[0]=*(u32*)a;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式