gpt4 book ai didi

c - 具有二维数组 malloc 的结构

转载 作者:行者123 更新时间:2023-11-30 20:13:47 28 4
gpt4 key购买 nike

是否可以在 C 中malloc这个结构?

typedef struct  {
float a[n][M];
}myStruct;

我尝试过不同的方法,但没有成功。

最佳答案

假设nM是编译时常量,你只需要

myStruct *p = malloc (sizeof myStruct);

myStruct *p = malloc (sizeof *p);

如果您的意思实际上是“如何分配结构体的 N x M 数组,其中 n 和 M 在编译时未知”,答案是:

typedef struct {
float x;
} myStruct;

...

myStruct *p = malloc (sizeof myStruct * M * N);

然后访问 p[M * m + n]哪里0<=m<M , 0<=n<N .

关于c - 具有二维数组 malloc 的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28840337/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com