CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

内存管理的问题,请进来发言!

楼主leizhengdeng(权为妞妞所用,利为妞妞所谋)2001-11-12 10:19:52 在 VC/MFC / 基础类 提问

char   *str   =   "abc";应该等同于const   char   str[4]   =   "abc",   对不?  
  str变量是在栈上分配吗?"abc"呢?加了const后在哪里分配内存?  
  最好能扩充讨论范围~~~  
  问题点数:100、回复次数:11Top

1 楼kingzai(stevenzhu)回复于 2001-11-12 10:38:53 得分 0

局部变量和函数参数一般在栈上分配内存,而全局变量一般要在自由内存区,通常的说法是堆中分配内存,这是由他们的特性决定的。  
  第一个问题应该不同,char*str="abc";应该在前面加上const把  
  Top

2 楼kenwhale(屠夫)回复于 2001-11-12 10:42:49 得分 20

第一问,对,char   *str="abc"声明一个常量。  
  后面的问题:char   *str="abc";声明了一个"abc"字符串常量,而变量str指向保存该常量的内存区。该内存区会在整个进程期间都有效,而变量str只在他自己的作用空间内有效。Top

3 楼jiangping_zhu(娜可露露之风之刃)回复于 2001-11-12 10:49:59 得分 30

第一个"abc"放在只读数据段里,第二个放在堆栈中,如果加上const也是也是放在堆栈中。Top

4 楼leizhengdeng(权为妞妞所用,利为妞妞所谋)回复于 2001-11-12 10:55:04 得分 0

我是同意char   *str   =   "abc";等同于const   char   str[4]   =   "abc"。  
  我想讨论的是:  
  ------------------------  
  char   *str1;  
  1.   str1是在栈中的吧?  
  ---------------------  
  char   str2[4]   =   "abc";  
  2.   str2在栈中吧?   "abc"呢?  
  ----------------------------  
  const   char   str3[4]   =   "123"  
  3.   str3和"123"呢?Top

5 楼kingzai(stevenzhu)回复于 2001-11-12 11:08:05 得分 20

我同意jiangping_zhu的,如果是全局指针应该放在堆中才对。Top

6 楼jiangping_zhu(娜可露露之风之刃)回复于 2001-11-12 12:46:55 得分 20

1,2,3中的str都是放在堆栈中Top

7 楼leizhengdeng(权为妞妞所用,利为妞妞所谋)回复于 2001-11-12 12:57:12 得分 0

内容呢?Top

8 楼jiangping_zhu(娜可露露之风之刃)回复于 2001-11-12 13:00:26 得分 0

放在只读数据段Top

9 楼jiangping_zhu(娜可露露之风之刃)回复于 2001-11-12 13:01:56 得分 0

另外,你这两个声明是初始化数组,它回拷贝到数组中,也就是拷贝到堆栈中。Top

10 楼leizhengdeng(权为妞妞所用,利为妞妞所谋)回复于 2001-11-13 10:12:40 得分 0

谁能系统地总结一下,包括指针,数组的指针变量以及指针变量所指向的内容是怎么存储的  
  还有带const修饰的。Top

11 楼hgw111(hg)回复于 2001-11-13 10:15:54 得分 10

重看一下c++的书吧,其中都有Top

相关问题

  • 21stboy(华建) 。。。。。请进来领分。发言
  • 笨狼老大,请进来看看啊,有关你的代码管理器,各位进来老大也请发言。
  • 头疼的问题(很长),请进来帮忙,踊跃发言.
  • 熟悉医院管理系统的高手请进来:)
  • 做过酒店管理的朋友请进来看看
  • ^_^请进来讨论一下“零内存保存”问题?解决便给分^_^
  • jukywen请进来....
  • wing请进来!
  • CandyCat,请进来
  • aceplus请进来

关键词

  • 内存
  • 指针
  • 变量
  • abc
  • 常量
  • 堆栈
  • 数组
  • 分配
  • 放在
  • str

得分解答快速导航

  • 帖主:leizhengdeng
  • kenwhale
  • jiangping_zhu
  • kingzai
  • jiangping_zhu
  • hgw111

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo