| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2275 人关注过本帖
标题:二维数组变量赋值二维数组内存
取消只看楼主 加入收藏
古123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:219
专家分:1098
注 册:2017-2-5
结帖率:86.67%
收藏
已结贴  问题点数:20 回复次数:2 
二维数组变量赋值二维数组内存
程序代码:
int col;
    int row;
    
    float f[4][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16} };

    col = 4;
    row = 4;
    
    // 申请内存
    float** Rmatrix = (float**)malloc(sizeof(float*) * col);
    for (int i = 0; i < col; i++) {
        Rmatrix[i] = (float*)malloc(sizeof(float) * row);
    }
    // 赋值
    Rmatrix = f;

    for (int i = 0; i < col; i++) {
        for (int j = 0; j < row; j++) {            
            printf(" %f ", Rmatrix[i][j]);
        }
        putchar('\n');
    }

错误如下:
图片附件: 游客没有浏览图片的权限,请 登录注册

使用VS2019写的,
请问为什么呢?
搜索更多相关主题的帖子: float 二维数组 赋值 int row 
2020-06-24 09:59
古123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:219
专家分:1098
注 册:2017-2-5
收藏
得分:0 
回复 2楼 fulltimelink;回复 3楼 纯蓝之刃
emm,请问能不能写在一个函数中呢?
就是把二维数组变量写在二维数组内存中。
试过void s(float **a,int col,int row){}
void s(float *a[],int col,int row){}
都不可以。不知道为什么

程序代码:
typedef struct
{
    float** value;
    int col;
    int row;
}Mat;
Mat s(float** m,int col,int row)
{
    Mat r;
    r.col = col;
    r.row = row;

    //// 申请内存
    float** Rmatrix = (float**)malloc(sizeof(float*) * col);
    for (int i = 0; i < col; i++) {
        Rmatrix[i] = (float*)malloc(sizeof(float) * row);
    }

    for (int i = 0; i < col; i++) {
        for (int j = 0; j < row; j++) {
            Rmatrix[i][j] = m[i][j];//这一步出错
        }
    }
    r.value = Rmatrix;
    return r;
}


[此贴子已经被作者于2020-6-24 14:28编辑过]

2020-06-24 14:15
古123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:219
专家分:1098
注 册:2017-2-5
收藏
得分:0 
感谢
2020-06-24 18:43
快速回复:二维数组变量赋值二维数组内存
数据加载中...
 
   



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

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