我正在尝试创建一个使用由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是空位的数字,必须在插入时使用。
我的问题是:
答案 0 :(得分:4)
在声明中我找不到任何可怕的错误
由于它是一个指向结构的指针数组而不是结构数组,因此在创建Person时只需使用malloc
,然后将返回的指针指定给数组的一个位置。但是,您不需要在显示代码的任何其他时间使用malloc
。
不,点是访问结构的字段,例如,如果您有Person peter
它将是peter.name
。要从数组访问结构,它应该是(*act[i]).name
或act[i]->name
。
希望这会对你有所帮助;我正在学习,所以也许更有经验的用户可以为您提供更多帮助。