| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 382 人关注过本帖
标题:变长的数组怎嘛访问,能否给个思路
只看楼主 加入收藏
风车转风车89
Rank: 2
等 级:论坛游民
帖 子:125
专家分:45
注 册:2014-9-15
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:6 
变长的数组怎嘛访问,能否给个思路
例如:
char **a;
a=(char**)malloc(n*sizeof(char*));
for(i=0;i<n;i++)
  a[i]=(char*)malloc(m*sizeof(char));
其中m是个变量每次的值都不同;如何访问a?
2014-11-03 18:45
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:10 
我认为,这里就相当于是n×m的二维数组,
可以用*(*(a+i)+j)来访问i行j列的那个元素,手机上打的,有些符号可能看着别扭。
2014-11-03 23:56
风车转风车89
Rank: 2
等 级:论坛游民
帖 子:125
专家分:45
注 册:2014-9-15
收藏
得分:0 
回复 2 楼 soulmate1023
我开始也是那样想的,但是找不出循环结束条件,开始觉得找出最长的子列,再访问,但那样的效率很低;要是用一个数组存入每一子列的长度,又要多开辟一个数组!
2014-11-04 09:32
hnz2014
Rank: 2
等 级:论坛游民
帖 子:3
专家分:30
注 册:2014-11-4
收藏
得分:5 
每个数组多申请一个字节,最后一个赋成0,如何?
2014-11-04 10:05
书生等待
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:280
专家分:689
注 册:2013-2-22
收藏
得分:5 
字符数组不是都是以‘\0’结束吗
2014-11-04 11:31
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:0 
回复 3 楼 风车转风车 89
我觉得5楼说的就可以呀,就是每个字符串会以'\0'结束呀,这不就是条件;
或者,也可以在每个行中的第一个元素空出来,专门存本行字符个数,我们学数据结构就有这样的方法。然后每行真正字符串从1号位开始。总之,就是自己设定一些标志,不一定要另开一个数组的
2014-11-04 12:36
风车转风车89
Rank: 2
等 级:论坛游民
帖 子:125
专家分:45
注 册:2014-9-15
收藏
得分:0 
回复 6 楼 soulmate1023
嗯,谢谢啦
2014-11-05 19:20
快速回复:变长的数组怎嘛访问,能否给个思路
数据加载中...
 
   



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

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