| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 429 人关注过本帖
标题:[求助] 这两句话什么意思
只看楼主 加入收藏
恒宇之清
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-5-23
收藏
 问题点数:0 回复次数:5 
[求助] 这两句话什么意思
char str[20];
char *p=new char[20];
第一句话我明白,是弄了个字符数组,但第二句话我就不懂了,new char[20]这是什么意思啊?这个new怎么用啊?举个例子好吗?
2007-07-24 20:05
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
new都不懂啊,那还是先看看书吧。

天行健,君子以自强不息!!QQ:68660681
2007-07-24 20:28
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
可意会不可言传也!
你是该多看看书了!

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-07-25 18:40
gxslkz
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-25
收藏
得分:0 
char str[20]; 这里是静态声明数组
char *p=new char[20]; 这里是动态声明数组
char *p=new char[20] 也可以写成 char *p; p = new char[20];
静态声明数组时你必须要知道数组的大小,即数组大小是个常数,而
动态声明数组时数组的大小却可以是个变量.
如:
char *p;
int n;
cin >> n;
p = new char[n];
delete [] p;

静态声明时就不能char str[n] (n是个变量)
这就解决一些问题,如你要录入某些成绩,但你不知道人数,如果用静态数组,声明10000个,就浪费内存空间,
动态数组就可以根据人数生成你要的数组,不过在程序不要数组时要用delete 来释放内存
2007-07-25 23:33
恒宇之清
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-5-23
收藏
得分:0 
回复:(gxslkz)char str[20]; 这里是静态声明数组...
#include<iostream.h>
void main()
{
char *p;
p=new char[1];
p="abcdefg";
cout<<p<<endl;
}
这一段代码中p="abcdefg"; 我都定义了7个字符,但p=new char[1];中只定义了一个,为什么这个程序还是正确的呢?那个p=new char[1];中的1代表什么啊?是不是char *p[]中这个[]中的数字可以随便写呢?

想自己该想的 做自己该做的
2007-07-26 11:16
恒宇之清
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-5-23
收藏
得分:0 
就动态数组举个简单的例子好吗?这样我可以更好的理解。

想自己该想的 做自己该做的
2007-07-26 11:27
快速回复:[求助] 这两句话什么意思
数据加载中...
 
   



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

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