免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5910 | 回复: 16

ansi c 的数组的问题,急 [复制链接]

ccb 该用户已被删除
发表于 2001-12-14 15:17 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2001-12-14 15:58 |显示全部楼层

ansi c 的数组的问题,急

int a[][];
a=new int[row];
delete  [] a;
ccb 该用户已被删除
发表于 2001-12-14 16:12 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2001-12-14 16:30 |显示全部楼层

ansi c 的数组的问题,急

ansi c里面动态分配内存是可以,但是定义动态的变量好象不行,因为你想呀,ansi c里面的语法要求声明变量部分要放在函数的开头,而且这些变量是存放在堆栈里面的,堆栈里面的变量是不可能动态增大的!

论坛徽章:
0
发表于 2001-12-14 17:46 |显示全部楼层

ansi c 的数组的问题,急

the code below is ok!

enjoy!

void two (char  tmp[][12])
{
int i;
for(i = 0; i < 12; i++){
tmp[1] =i;
}
}

main(){

char* ptmp = (char*)calloc(1, 1024);

two(ptmp);

}
ccb 该用户已被删除
发表于 2001-12-17 08:44 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2001-12-17 17:32 |显示全部楼层

ansi c 的数组的问题,急

你再加一维不就行了.

void two (char  tmp[][][1])
{
tmp[n][m][0] = 9;

}  

论坛徽章:
0
发表于 2001-12-20 10:34 |显示全部楼层

ansi c 的数组的问题,急

#define LIST_INIT_SIZE 100       //初始分配大小
#define LIST_INCREASEMENT 10    //分配增量
typedef struct array{
int *elem[];                  //基地址
int length;                   //当前长度
int listsize;                //当前实际被分配到的大小
}D_LIST;
使用时D_LIST a;
a.elem=malloc(LIST_INIT_SIZE*sizeof(int));
然后就能随意了。只要这么做a.elem[1][1]
这一手我没实际试过,你可以试一下,然后告诉我行不行。

论坛徽章:
0
发表于 2001-12-26 15:48 |显示全部楼层

ansi c 的数组的问题,急

[这个贴子最后由lchsh在 2002/04/04 10:24am 编辑]

这样做:
int ** tmp;
//do something ...
可以这样试一下(2*5的数组)

tmp = (int **)malloc(len1*sizeof(int *);

for(j = 0; j < len1;j++){

  tmp[j]  =  malloc(len2*sizeof(int));

}

//len1是第一维数组的大小,len2是第二维数组的大小

//用的时候就象数组一样用了:
tmp[2][3]=...
//最后释放


论坛徽章:
0
发表于 2001-12-27 21:18 |显示全部楼层

ansi c 的数组的问题,急

是否可以考虑用连表来代替呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP