| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3803 人关注过本帖
标题:关于利用函数修改二维数组的值
取消只看楼主 加入收藏
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
结帖率:100%
收藏
 问题点数:0 回复次数:3 
关于利用函数修改二维数组的值
在main函数中定义一个二维数组,例如a[4][4],想要在函数中将其中的值改变,如何实现
int main()
{
    int a[4][4];
    seta(a);
    for(int i = 0; i < 4; i++)
    {
        for(int j = 0; j < 4; j++)
            cout << a[i][j] << endl;
    }
}
void seta(int *a)
{
    for(int i = 0; i < 4; i++)
    {
        for(int j = 0; j < 4; j++)
           a[i][j] = i + j;
}

一维数组好像可以用上面的方法进行传递,但是二维数组不可以,报错
试过 int **a/int *a[4]
都不行
有没有方法在函数中直接对二维数组的具体值进行更改,然后传回到主函数中的二维数组中
搜索更多相关主题的帖子: 如何 
2017-03-15 01:50
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:0 
回复 2楼 九转星河
这个可以了
我声明的时候用a[][4]
写函数的时候用(int (*a)[4])
最后可以输出了
2017-03-15 20:24
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:0 
回复 3楼 wp231957
这个不行,会报错
2017-03-15 20:24
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:0 
回复 4楼 吹水佬
  *(a+i*n+j) = i+j;
这个是不是可以想象数组是一个正方形,然后一个一个往右边数
但是为什么要i*n呢?
2017-03-15 20:27
快速回复:关于利用函数修改二维数组的值
数据加载中...
 
   



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

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