找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1673|回复: 5

请教一个内存分配问题

[复制链接]
发表于 2009-11-3 04:15:32 | 显示全部楼层 |阅读模式 IP:江苏扬州
请看下边代码:
#include"iostream.h"
#include"iomanip.h"
void main()
{
int i=10;
int *j=&i;
if(!0)
{
int l=20;
int *k=&l;
cout<<&k<<setw(15)<<&l<<endl;
}
cout<<&i<<setw(15)<<&j<<setw(15)<<sizeof(j)<<endl;
}
输出结果为:0x0012FF70 //&k 0x0012FF74 //&l:
0x0012FF7C //&i 0x0012FF78 //&j
请问各位
1:内存的地址如何命名的?地址中的数字和字符各有什么含义?i的地址与其他三个有什么不同?
2:内存中的地址不是连续分布的么?i的赋值应在j前边且连续,l也应在k前边,可结果让我迷惑。。。不知是否与内存赋值方式有关?
3:指针变量在内存中占多少字节(我之前看到很多默认的4字节)?跟它存放的地址类型和大小有关么?


请高手赐教!!
发表于 2009-11-3 04:15:33 | 显示全部楼层 IP:江苏扬州
2006-8-22 15:29:37 adaliuliu

等 级:新手上路
帖 子:38
专家分:0
注 册:2006-8-21
第 3 楼   得分:0  

不要意思,献丑,我的意思是变量在内存中的地址值的命名规则是什么?
回复

使用道具 举报

发表于 2009-11-3 04:15:34 | 显示全部楼层 IP:江苏扬州
2006-8-22 15:43:52 song4

等 级:贵宾
威 望:38
帖 子:1531
专家分:0
注 册:2006-3-25
第 5 楼   得分:0  
分向上向下两种
回复

使用道具 举报

发表于 2009-11-3 04:15:35 | 显示全部楼层 IP:江苏扬州
呵呵,0x0012FF70 是怎么来的?这下明白吧,,

版主说分向上向下两种,能具体解释一下么,从程序结果看我这里是不是向下的?
回复

使用道具 举报

发表于 2009-11-3 04:15:36 | 显示全部楼层 IP:江苏扬州
以下是引用adaliuliu在2006-8-22 15:24:27的发言:

请看下边代码:
#include"iostream.h"
#include"iomanip.h"
void main()
{
int i=10;
int *j=&i;
if(!0)
{
int l=20;
int *k=&l;
cout<<&k<<setw(15)<<&l<<endl;
}
cout<<&i<<setw(15)<<&j<<setw(15)<<sizeof(j)<<endl;
}
输出结果为:0x0012FF70 //&k 0x0012FF74 //&l:
0x0012FF7C //&i 0x0012FF78 //&j
请问各位
1:内存的地址如何命名的?地址中的数字和字符各有什么含义?i的地址与其他三个有什么不同?
2:内存中的地址不是连续分布的么?i的赋值应在j前边且连续,l也应在k前边,可结果让我迷惑。。。不知是否与内存赋值方式有关?
3:指针变量在内存中占多少字节(我之前看到很多默认的4字节)?跟它存放的地址类型和大小有关么?


请高手赐教!!
细讲一下
1.分向上和向下两种
在栈里的变量空间都是向上扩张,也就是说,根据你定义变量的顺序,依次向上分配空间
而堆的是向下分配空间
那些字符是16进制的表示 I的地址与其他的一样,都在栈内

2.一般情况是连续分配的,因为系统也没有多余的指针来完成地址标记.
特殊情况是,当你定义的变量不是一个"整数",或者过大与这一字符条的时候,毕竟用户不能保证定义4个字节或其倍数的东西
例如
struct tmp
{
int xx;
char x;
};
sizeof(tmp)!=5 it==8
所以与复职无关,原因在1


3.简单说4不是很负责
只能说是sizeof(int)
指针只是储存一下地址,跟储存什么类型无关,指针的类型,只是告诉你他所指的内容和每次移动的字节,方便运算.
回复

使用道具 举报

发表于 2009-11-3 04:15:37 | 显示全部楼层 IP:江苏扬州
我明白了,多谢版主的精彩解答!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 17:24 , Processed in 0.276748 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表