在结构动态初始化中C(不)结构数组的结构麻烦malloc

在结构动态初始化中C(不)结构数组的结构麻烦malloc,第1张

概述我在初始化(动态)数组中的结构部分时遇到了一些小麻烦.这是我到目前为止我使用子例程来创建结构 t_grille_animaux creer_grille(int dim_ligne, int dim_col) { t_grille_animaux grille; grille.la_grille = (t_case_animal **) malloc(sizeof(t_case 我在初始化(动态)数组中的结构部分时遇到了一些小麻烦.这是我到目前为止我使用子例程来创建结构

t_grille_animaux creer_grille(int dim_ligne,int dim_col) {    t_grille_animaux grille;    grille.la_grille = (t_case_animal **) malloc(sizeof(t_case_animal)*dim_ligne*dim_col);    grille.dim_colonne = dim_col;    grille.dim_ligne = dim_ligne;    grille.nb_predateurs = NulL;    grille.nb_proIEs = NulL;    return grille;}

这是我的结构:

typedef struct{    t_case_animal ** la_grille; //2D array    int dim_ligne;    int dim_colonne;    int nb_proIEs;    int nb_predateurs;} t_grille_animaux;typedef struct{    t_contenu etat;    t_animal animal;} t_case_animal;typedef enum {VIDE,PROIE,PREDATEUR} t_contenu;typedef struct{     int age;               int jrs_gestation;     int energIE;          int disponible;    } t_animal;

(对不起,语言)

我现在得到的是,不是数组中结构的一切都很好.但阵列中的所有内容都是未声明的.

解决方法 这应该做的伎俩:

#define NUM_ROWS (10)#define NUM_ColS (15)grille.la_grille = malloc(NUM_ROWS * sizeof(*grille.la_grille));for(int row = 0; row < NUM_ROWS; row++)    grille.la_grille[row] = malloc(NUM_ColS * sizeof(**grille.la_grille));
总结

以上是内存溢出为你收集整理的在结构动态初始化中C(不)结构数组的结构麻烦malloc全部内容,希望文章能够帮你解决在结构动态初始化中C(不)结构数组的结构麻烦malloc所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1227005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存