0
typedef struct Triple {
    int row, col;
    int elem;
}Triple;

typedef struct TSMatrix {
    Triple data[100];
    int m, n, len;
}TSMatrix;

Triple data[] = {{1, 1, 1}, {1, 3, 3}};
    TSMatrix A;
    A.data[0] = data[0];
    A.data[1] = data[1];
    A.m = 5;
    A.n = 4;
    A.len = 6;

有没有更加合理的初始化A的方法?

afishhhhh 395
2016-03-27 提问

查看全部 4 个回答

0

我理解你的意思是更加合理的初始化A

TSMatrix A = {.m = 5, .n = 4,.len = 6}; 

这样就可以初始化结构体的部分值。

推荐答案

3

我觉得你的问题本身就有问题。
你能分清声明(Declare),定义(Define),初始化(Initialize)和赋值(Assign)的概念吗?

如果你单纯想缩短代码行数的话:

struct TSMatrix {
    struct Triple {
        int row, col;
        int elem;
    } data[100];
    int m, n, len;
} A = {
    {{1, 1, 1}, {3, 3, 3}},
    5, 4, 6
};

推广链接