[英]Struct pointed by an array? [C]
我正在尝试制作一个使用由30个数组指向的结构的程序。这意味着,将只有30个名为Person的可用结构。 将此视为活动行,该活动行只能包含30个活动人员。 使用的功能有:
#include <stdio.h>
#include <stdlib.h>
struct Person
{
char name[40];
char firstname[40];
int CIN[12];
};
typedef struct Person *Activity;
main()
{
Activity act[30];
return 0;
}
空缺(搜索“活动”行中是否有空位)。
插入(如果活动行中的位置为空,则插入新的人员)。
取款(从“活动”行中删除一个人)。
这是结构和活动行的声明:
CIN是法国的身份证号码。
这些功能是:
vacant(Activity act, int index);
insertion(Activity act, int index);
withdrawal(Activity act);
index是空位置的编号,必须在插入时使用。
我的问题是:
在声明中,我找不到任何严重错误
由于它是指向结构的指针数组而不是结构的数组,因此在创建Person时只需使用malloc
,然后将返回的指针分配给数组的一个位置。 但是,您无需在其他时间使用malloc
显示代码。
不,点是访问结构的字段,例如,如果您具有Person peter
则它将是peter.name
。 要从数组访问结构,它应该是(*act[i]).name
或act[i]->name
。
希望这对您有所帮助; 我正在为您学习,所以也许经验丰富的用户可以为您提供更多帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.