标题:将数组的整体赋值改成直接赋值的形式
取消只看楼主
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
结帖率:64.71%
已结贴  问题点数:20 回复次数:1 
将数组的整体赋值改成直接赋值的形式
请教一个问题,我想讲下列数组改成直接赋值的形式,应该怎么改??
int (*fenc_mvs[2])[2] = { &frames[b]->lowres_mvs[0][b-p0-1][i_mb_xy], &frames[b]->lowres_mvs[1][p1-b-1][i_mb_xy] };

要求是这样的,举个例子说明:
int a[3]={3,4,5};
改成:
int a[];
a[0]=3;
a[1]=4;
a[2]=5;
搜索更多相关主题的帖子: 在线 频道 
2011-05-14 17:21
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
得分:0 
回复 3楼 zaixuexi
首先感谢版主和2楼的热情回复,我再交代一下这个我这个问题的背景吧,我是将VS2008先编译通过的代码移植到CCS上(DSP开发软件),
移植之后就出现这个问题。其实跟这个类似的我改过多处,但是其他的地方不是二维数组,是一维数组,修改之后都没有问题。
比如我将
int (*fenc_costs[2]) = { &frames[b]->lowres_mv_costs[0][b-p0-1][i_mb_xy], &frames[b]->lowres_mv_costs[1][p1-b-1][i_mb_xy] };
改为:
int (*fenc_costs[2]);
fenc_costs[0]=&frames[b]->lowres_mv_costs[0][b-p0-1][i_mb_xy];
fenc_costs[1]=&frames[b]->lowres_mv_costs[1][p1-b-1][i_mb_xy];
这样改没有问题。
但是这个二维数组的我就搞不定 了。
我按照3楼版主的方法改后,编译提示下列错误:
error: expression must have pointer-to-struct-or-union type

按照2楼的方法,不提示错误了,我想问一问2楼这样改是的道理?二维数组咋就变长一维数组了,这样可以吗?
2011-05-15 01:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-339870-1-1.html




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

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