gpt4 book ai didi

c - 如何将不同类型的数据类型放入 C 中的动态数组中

转载 作者:太空宇宙 更新时间:2023-11-04 04:27:39 24 4
gpt4 key购买 nike

我尝试将姓名和年龄存储在动态数组中当我们有不同类型的 data 、 int 和 Char 时我们不知道开始时的大小如何使用动态数组来存储这两种类型



typedef struct personne{
字符名称;
年龄 ;

}人员;

struct personne saisie_personne_suivante(struct personne* x){


scanf("%s",&x->nom);


scanf("%d",&x->age);


返回 *x;
}

诠释主要(无效){


人员 *ali;
ali = malloc(sizeof(char*));
saisie_personne_suivante(ali);

printf("\n %d ",ali->age);


printf("\n %s",&ali->nom);
返回 0;
}

为什么我没有成功?

最佳答案

我认为我们不能在数组中同时存储两种类型的数据。如果我们这样做,我们需要将一半的​​内存分配给 char,另一半分配给整数,前提是你应该给数组一些大小。=> 在你的程序中这一行 [ali = malloc(sizeof(char*))] 你传递的只是 char 的地址而不是变量的地址。如果你想存储这两个值,只需传递 int 和 char 的地址。

关于c - 如何将不同类型的数据类型放入 C 中的动态数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39938934/

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