c - 如何访问嵌套结构对象

标签 c struct

typedef struct _imat {
 int **m_mat;
 int rows, cols;
} intMat;

typedef struct _banker {
 intMat A;
 intMat M;
 int *C;
 int numRes;
 int numProcs;
 } banker;

int main(int argc, char* argv[])
{
  banker *b,c;
  b = &c;
 matInit((*b).A,(*b).numProcs,(*b).numRes);
}

我正在尝试访问intMat A_banker结构但出现错误:

"expected ‘struct intMat *’ but argument is of type ‘intMat’ void matInit(intMat *mat,int rows, int cols){"

最佳答案

(*b).A 的类型为 intMat

但是 matInit 需要一个 intMat *

因此将 (*b).A 替换为 &(*b).A,因为“&”将使其成为指针

关于c - 如何访问嵌套结构对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40645917/

相关文章:

c++ - 结构体用malloc分配,为什么? C++代码分析

c 指向结构体的指针问题

c++ - 自定义结构集声明错误

c#调用c++ dll传输struct array发生异常

java - 无法在 sphinx4 中加载 en-us-semi 模型

c - 当 int 小于 size_t 时分配给 size_t

c - 在 C 中使用 math.h 的 sqrt() 和 pow() 函数

c - 十进制转二进制的转换方法

c - 如何动态分配 16B 对齐的二维数组

c++ - avl树的实现导致segmentation fault