24小时热门版块排行榜    

查看: 1454  |  回复: 7

wj_871215

银虫 (小有名气)

[求助] c语言动态数组

求一些turbo c动态数组的相关资料
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huweny87

木虫 (小有名气)

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-07-17 16:45:32
Turbo C采用的是C89标准,没有包含动态数组,只能用指针实现。如果是gcc之类的,采用C99标准,则可用变量名作为尺寸声明数组,可实现动态数组的功能
少年心事当拏雲,谁念幽寒坐呜呃?
2楼2011-07-17 13:09:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wj_871215

银虫 (小有名气)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-17 22:45:37
引用回帖:
Originally posted by huweny87 at 2011-07-17 13:09:39:
Turbo C采用的是C89标准,没有包含动态数组,只能用指针实现。如果是gcc之类的,采用C99标准,则可用变量名作为尺寸声明数组,可实现动态数组的功能

不好意思,我也就是菜鸟级的初学者,了解的也不是太多。我想问问用指针实现难吗,想请您详细的指导一下。
3楼2011-07-17 22:40:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


wj_871215(金币+10): 2011-07-18 14:31:01
jjdg(金币+1): 感谢参与 2011-07-18 14:44:24
动态数组类似于
CODE:
int **a = new int*[5];
for (int i=0; i<5; ++i)
{
        a[i] = new int[3];
        for (int j=0; j<3; ++j)
                a[i][j] = 0;
}

这就定义了一个5*3的数组,默认全是0
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2011-07-17 23:26:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wj_871215

银虫 (小有名气)

引用回帖:
Originally posted by libralibra at 2011-07-17 23:26:44:
动态数组类似于
CODE:
int **a = new int*[5];
for (int i=0; i<5; ++i)
{
        a[i] = new int[3];
        for (int j=0; j<3; ++j)
                a[i][j] = 0;
}

这就定义了一个5*3的数组,默认全是0

那这样定义行吗,赋值为零
int ***b
b=(int***)malloc(111);
for(i=0; i<111; i++)
{
b=(int**)malloc(50);
for(j=0;j<50;j++)
{
b[j]=(int*)malloc(221);
for(k=0;k<221;k++)
{
b[j][k]=0;
}
}
}
5楼2011-07-18 10:27:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huweny87

木虫 (小有名气)

【答案】应助回帖


wj_871215(金币+10): 2011-07-18 14:39:18
jjdg(金币+1): 感谢参与 2011-07-18 14:44:12
引用回帖:
Originally posted by wj_871215 at 2011-07-17 22:40:06:
不好意思,我也就是菜鸟级的初学者,了解的也不是太多。我想问问用指针实现难吗,想请您详细的指导一下。

用指针实现也不难,就是在需要的时候,向操作系统申请一块你需要的大小的内存,把其开始地址赋值给一个指针,这个指针应该用你需要使用的数据类型声明,接下来你就可以把这个指针当作数组用了。但我不知道能不能写成pointer_name的形式,这个要尝试一下,还有就是这个恐怕没有越界提醒,务必小心
少年心事当拏雲,谁念幽寒坐呜呃?
6楼2011-07-18 11:20:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huweny87

木虫 (小有名气)


jjdg(金币+1): 感谢参与 2011-07-18 14:44:03
引用回帖:
Originally posted by huweny87 at 2011-07-18 11:20:14:
用指针实现也不难,就是在需要的时候,向操作系统申请一块你需要的大小的内存,把其开始地址赋值给一个指针,这个指针应该用你需要使用的数据类型声明,接下来你就可以把这个指针当作数组用了。但我不知道能不 ...

不知道能不能写成
CODE:
pointer_name[i]

的形式
少年心事当拏雲,谁念幽寒坐呜呃?
7楼2011-07-18 11:23:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wj_871215

银虫 (小有名气)

引用回帖:
Originally posted by huweny87 at 2011-07-18 11:20:14:
用指针实现也不难,就是在需要的时候,向操作系统申请一块你需要的大小的内存,把其开始地址赋值给一个指针,这个指针应该用你需要使用的数据类型声明,接下来你就可以把这个指针当作数组用了。但我不知道能不 ...

没怎么听明白,要不请您帮我看看程序怎么样,比较简短的程序
8楼2011-07-18 14:39:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wj_871215 的主题更新
信息提示
请填处理意见