【讨论】【数组】你知道几种数组初始化的方法?——停了几周后,重新开始,坚持下去

5 views
Skip to first unread message

常高伟

unread,
Dec 30, 2009, 7:48:38 AM12/30/09
to DS计划——C深入学习项目
先坚持下去,所以,在开始我们的学习。

数组在C中是非常重要的,在《c专家编程》和《c和指针》中都有大量的阐述。同学们可以抽时间专门学习学习。

今天讨论——几种数组初始化的方法?说一下你知道的方法。

朱娣娣

unread,
Dec 30, 2009, 8:37:16 AM12/30/09
to ds-c-i...@googlegroups.com
我所知道的有
1.直接在定义数组时就给它附值,可以全部附值,还可以部分附值(这是针对数组长度已经确定的情况下,一定是前面的值被附值)
 这种情况比较适合简单的小长度数组,对于长数组而言就不是很方便
 
啊,一回答才知道自己缺乏得太多了!
要赶紧恶补啊!
你说的这两个文档我发现我竟然没有,下载下来看看!
惭愧啊!
2009/12/30 常高伟 <chga...@gmail.com>

常高伟

unread,
Dec 30, 2009, 8:54:29 AM12/30/09
to ds-c-i...@googlegroups.com
你可以看看论坛中,有相关的下载地址



2009/12/30 朱娣娣 <zhud...@gmail.com>

朱娣娣

unread,
Dec 31, 2009, 1:30:44 AM12/31/09
to ds-c-i...@googlegroups.com
我记得以前是下过的。可是昨天去群共享里看,怎么都下不了了呢。

2009/12/30 常高伟 <chga...@gmail.com>

C语言小学生

unread,
Jan 3, 2010, 8:13:53 PM1/3/10
to DS计划——C深入学习项目
是啊!
坚持才行。
我想说工作有点忙,我自己也知道忙只是借口了...就是年底了,人有些懈怠了。

常高伟

unread,
Jan 3, 2010, 9:13:56 PM1/3/10
to ds-c-i...@googlegroups.com
呵呵,是的。年底都比较忙,我们可以慢一点,但一定要做下去。
等明年春来,再加速前进。

2010/1/4 C语言小学生 <hid...@gmail.com>

pang123hui

unread,
Jan 3, 2010, 11:12:50 PM1/3/10
to DS计划——C深入学习项目
想补充一点,其实在C99标准中已经可以对数组部分元素进行初始化了,且初始化的数值不一定必须是前几个

比如

int arr[10]={[4]=4};

这时arr[4]已经初始化为4,其他均初始化为0

On 2009年12月30日, 下午9时37分, 朱娣娣 <zhudi...@gmail.com> wrote:
> 我所知道的有
> 1.直接在定义数组时就给它附值,可以全部附值,还可以部分附值(这是针对数组长度已经确定的情况下,一定是前面的值被附值)
> 这种情况比较适合简单的小长度数组,对于长数组而言就不是很方便
>
> 啊,一回答才知道自己缺乏得太多了!
> 要赶紧恶补啊!
> 你说的这两个文档我发现我竟然没有,下载下来看看!
> 惭愧啊!

> 2009/12/30 常高伟 <chgao...@gmail.com>


>
> > 先坚持下去,所以,在开始我们的学习。
>
> > 数组在C中是非常重要的,在《c专家编程》和《c和指针》中都有大量的阐述。同学们可以抽时间专门学习学习。
>

> > 今天讨论----几种数组初始化的方法?说一下你知道的方法。

朱娣娣

unread,
Jan 4, 2010, 12:24:13 AM1/4/10
to ds-c-i...@googlegroups.com
哦!学习了!
谢谢指教!

2010/1/4 pang123hui <pang1...@gmail.com>

L L-In

unread,
Jan 4, 2010, 9:54:00 AM1/4/10
to ds-c-i...@googlegroups.com
网上看到这种用法觉得不错,把函数组成一个数组,利用数组标号调用子函数
函数名就是一个标号

 
2010/1/4 pang123hui <pang1...@gmail.com>

常高伟

unread,
Jan 5, 2010, 1:47:24 AM1/5/10
to ds-c-i...@googlegroups.com
今天查了一下资料,数组可以在定义的时候只初始化其中部分元素:
int a[10] = {[2]=0, [5] = 3, [3] = 2};
不过我用的到时不多。
 
另外,定义好数组后,也可以使用循环进行初始化,或者直接进行内存操作。
2010/1/4 L L-In <lin.c...@gmail.com>

常高伟

unread,
Jan 5, 2010, 1:52:15 AM1/5/10
to ds-c-i...@googlegroups.com
这个文章是用面向对象编写的示例。用c也可以实现类似功能:
定义一个函数指针数组即可。

2010/1/4 L L-In <lin.c...@gmail.com>
Reply all
Reply to author
Forward
0 new messages