skyli
C++之梦
C++博客
首页
新随笔
联系
聚合
管理
随笔 - 62 文章 - 96 trackbacks - 0
<
2006年4月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔分类
(66)
acm之路(22)
C++之路(32)
php之路(10)
其它知识(2)
随笔档案
(62)
2007年8月 (2)
2007年7月 (2)
2007年5月 (1)
2007年4月 (3)
2007年3月 (1)
2007年2月 (1)
2007年1月 (2)
2006年12月 (1)
2006年11月 (2)
2006年10月 (9)
2006年9月 (2)
2006年8月 (5)
2006年6月 (4)
2006年5月 (10)
2006年4月 (9)
2006年3月 (6)
2006年1月 (2)
文章分类
(31)
生活点滴(24)
文章转载(3)
笑话转载(4)
文章档案
(32)
2011年1月 (1)
2009年6月 (1)
2006年9月 (1)
2006年8月 (2)
2006年6月 (5)
2006年5月 (12)
2006年4月 (5)
2006年3月 (2)
2006年1月 (3)
友情链接
&豪's Blog
Asp's Blog
Chgsh's Blog
My CSDNBlog
Sempr's Blog
XLQ's Blog
校内网
最新随笔
1. pow函数的性能测试
2. 一道算法题引发的动态内存管理的思考
3. 再谈子集树
4. 位运算求子集树
5. 筛法求素数
积分与排名
积分 - 233231
排名 - 107
最新评论
1. re: 优先队列用法
评论内容较长,点击标题查看
--tanti
2. re: 优先队列用法
给力!!
--***
3. re: pow函数的性能测试
Pow 函数要处理各种非整数次幂情况,比如0.5就等于开根号了,0.2就等于开5次方了。当然比直接乘慢的多。
--YYX
4. re: istringstream用法[未登录]
@gong
cin是标准输入,在std中已经声明了。
--mm
5. re: istringstream用法[未登录]
您好,为什么这里的getline(cin, line)中的cin没有定义就直接使用了呢?
--gong
阅读排行榜
1. itoa函数(67387)
2. 优先队列用法(57134)
3. istringstream用法(19250)
4. 数组最大长度问题(11843)
5. 测试程序运行时间(10201)
评论排行榜
1. itoa函数(14)
2. 测试程序运行时间(9)
3. 关于语句作用域(7)
4. pow函数的性能测试(6)
5. 数组最大长度问题(5)
如何创建二维数组?
有时需要创建n*n的二维数组。
于是我就用如下代码:
int ** a=new int * [n]; //或 int *(* a)=new int * [n];
for(int i=0;i<n;i++)a[i]=new int [n];
不知有没有更好的办法?
posted on 2006-04-05 01:10
beyonlin
阅读(1486)
评论(5)
编辑
收藏
引用
所属分类:
C++之路
FeedBack:
#
re: 如何创建二维数组? 2006-04-05 14:35
芋头
@int* a = new int[n * n];
@for (int i=0; i<n; ++i)
@ for (int j=0; j<n; ++j)
@ a[i*n + j] = i*n + j;
回复
更多评论
#
re: 如何创建二维数组? 2006-04-06 01:02
beyonlin
@芋头
这位大哥,你误解我的意思了。
我是要创建形如a[n][n]的二维数组,
而不是a[n*n]的一维数组。
回复
更多评论
#
re: 如何创建二维数组? 2006-04-10 09:04
新新
int (*p)[4]=new int[3][4];
p[0][0]=20;
p[2][3]=30;
回复
更多评论
#
re: 如何创建二维数组? 2006-04-10 11:00
小明
基本上没有更好的方法了吧
但是,可以对你的方法改进一下,避免多次new,可能会提高效率,而且很容易对整个数组进行初始化。
int *p =new int[n*n];
int **pp = new int*[n];
for(int i=0;i<n;++i)
{
pp[i] =&p[i*n];
}
//初始化
memset(p,0,sizeof(int)*n*n);
回复
更多评论
#
re: 如何创建二维数组?
2006-05-02 19:22
snnn
2006-04-10 09:04 by 新新
int (*p)[4]=new int[3][4];
p[0][0]=20;
p[2][3]=30;
补充一句,最后用delete[] p来释放,尽管p是一个指针而不是数组。
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
一道算法题引发的动态内存管理的思考
再谈子集树
位运算求子集树
字符串hash函数
优先队列用法
计数排序
《C++ Primer》之读书笔记七
插入排序泛型算法
《C++ Primer》之读书笔记六
《C++ Primer》之读书笔记五
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理