c语言变量内存地址全部显示问题

lzychina53770 2012-03-09 09:24:52
大家都知道一个int型变量占4个字节,在内存中分配连续的地址,我想将这些地址全部输出。(注意:不是只显示首地址)
显示首地址的我知道:
#include<stdio.h>
int main()
{
int i=6;
printf("i address: %d",&i);
return 0;
}
输出结果为:1245024
各位大虾帮帮忙,如何将地址全部输出?
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzychina53770 2012-03-09
  • 打赏
  • 举报
回复
领教了,谢谢各位啦
面包大师 2012-03-09
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
int i=6,j;
char *p = (char *)&i;
for (j=0;j<sizeof(i);j++)
{
printf("i address: %d\n",p+j);
}
return 0;
}
sgmcy 2012-03-09
  • 打赏
  • 举报
回复
楼上正解,还有,你要注意自己的机器存储数据时是按大端存取还是小端存取,方便自己验证结果
  • 打赏
  • 举报
回复
int ipos = 0;
for(ipos = 0; ipos < sizeof(i); ipos++)
printf("i address[%d] = %x\n", ipos, (p+ipos));
Isnis-fallen 2012-03-09
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
int i=6;
int *p = &i;
printf("i address: %d",p);
printf("i address: %d",++p);
...
return 0;
}

69,371

社区成员

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

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