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

数组和指针

楼主xm13006162749(温青)2006-03-23 10:50:10 在 C/C++ / C++ 语言 提问

请问下面两种情况的区别是什么?  
   
  1.char   str[]   =   "12345";  
  2.char   *str   =   "12345";  
  问题点数:20、回复次数:7Top

1 楼wangwenhong1000(乖乖兔)回复于 2006-03-23 10:52:37 得分 0

存储上没什么区别,使用上有区别Top

2 楼zjjzcgao(风)回复于 2006-03-23 10:54:13 得分 0

请查看我的BlogTop

3 楼dragonzxh(河马MiaMia~柯奶奶和黑爷爷的儿子叫柯南...~)回复于 2006-03-23 10:54:16 得分 0

char   *str   =   "12345";其实是const   char*   str   =   "12345";对于*str不能修改.Top

4 楼dnliophsam()回复于 2006-03-23 10:56:46 得分 0

使用上区别在哪里?Top

5 楼abblly(西边日出东边雨)回复于 2006-03-23 11:06:58 得分 10

严重同一  
  char   *str   =   "12345";其实是const   char*   str   =   "12345";对于*str不能修改.  
   
  C++之父说本来想强制const   char*   str   =   "12345";这种写法的,但是为了成百上千万行的C代码能不被改写而直接使用,保留了char   *str   =   "12345";这种写法。Top

6 楼xm13006162749(温青)回复于 2006-03-23 11:15:17 得分 0

请问他们在内存储存的方面有没有区别?Top

7 楼megaboy(飞天御剑流之杀神一刀斩)回复于 2006-03-23 12:00:13 得分 10

当然有区别。  
   
   
  char   *str中的"12345"字符串存储在静态存储区;  
   
  char   str[]这种情况要分开两部分来讲,用来初始化char   str[]的字符串"12345"本身同样存储在静态存储区,但str本身如果具有外部链接,也存储在静态存储区,如果是自动对象,则存储在栈中,其内容是由"12345"复制过去的内容。Top

相关问题

  • 指针和数组
  • 关于指针和数组
  • 关于指针数组和数组指针
  • 数组和指针的区别??????
  • 指针和数组的问题
  • 指针和数组问题。。求教!
  • 关于字符串数组和指针
  • 关于指针和数组的问题!
  • 数组和指针有什么区别?
  • 求2维数组平均值:要求用数组指针和2级指针实现

关键词

  • 区别
  • 静态存储区
  • str
  • 存储
  • 使用
  • char
  • const

得分解答快速导航

  • 帖主:xm13006162749
  • abblly
  • megaboy

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

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