| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1640 人关注过本帖
标题:求教大虾!!!!64位机的内存单元地址编码问题.
只看楼主 加入收藏
RockyBalbao
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-30
结帖率:50%
收藏
 问题点数:0 回复次数:6 
求教大虾!!!!64位机的内存单元地址编码问题.
各位大虾,请教一下,64位机的电脑,VC怎么分配连续的内存单元?地址为何是七位的呢:2817175(见下图).
#include <stdio.h>
main()
{
char a, b, c;
printf("input c:");  
scanf("%c", &c);
printf("input b:");
scanf(" %c", &b);    /*在%c前面加一个空格,将存于缓冲区的回车符读入*/
printf("input a:");
scanf(" %c", &a);    /*在%c前面加一个空格,将存于缓冲区的回车符读入*/

printf("a = %c, b = %c, c = %c\n", a, b, c);
printf("ASICI: a:%d,b:%d,c:%d\n", a, b, c);
printf("&a = %u,&b = %u,&c = %u\n",&a,&b,&c);
system("pause");

}

输出结果如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

恩,我把%u改为%p,结果如下:&a=001CFCBB,&b=001CFCAF,&c=001CFCA3,哪位大是能帮我解释一下这个地址的含义?我的机子是64位的,址址是8位,但为什么采用的是十六进制?地址为何相差了12?
搜索更多相关主题的帖子: 内存 include 缓冲区 
2011-08-02 14:08
Magic_Q
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:23
专家分:102
注 册:2011-7-27
收藏
得分:0 
debug版本的特色, 切换成release就没有这个问题了.
2011-08-02 14:52
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
1、您要确定你的解决方案平台是Win64,在我的这台32位电脑上用Win32构建程序运行后地址还是相差12,但是如果用mingw来构建这个程序,运行后每个变量之间是紧挨着的,这说明每个编译器的内部实现是不一样的,毕竟每个编译器的生产产商都不一样,每生产产商的开发团队对编译器的架构又不一样,楼主何必要在这方面较劲呢?
2、您可以把这个可执行文件载入OD调试一下,看一看VC编译器是如何对a、b、c三个变量分配空间的,或着你直接去买本编译原理来看看:http://product.

My life is brilliant
2011-08-02 15:03
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
恩,确实是3楼说的是对的。

My life is brilliant
2011-08-02 15:06
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
楼主我的32为机器是差4
图片附件: 游客没有浏览图片的权限,请 登录注册

                                         
===========深入<----------------->浅出============
2011-08-02 15:44
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
以下是引用lz1091914999在2011-8-2 15:06:44的发言:

恩,确实是3楼说的是对的。
呵呵,你还点评一下自己的帖子~~
2011-08-02 16:40
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 6楼 pangding
呵呵,应该是2楼。

My life is brilliant
2011-08-02 18:43
快速回复:求教大虾!!!!64位机的内存单元地址编码问题.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027366 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved