現在、構造体の配列を作成しています。配列を初期化すると、構造体の要素が 1 ではなく 8 になります。なぜこのようなことをしているのですか? さらにコードが必要な場合 (ただし、それらはすべて個別の関数であるため、疑わしい場合は、質問があれば投稿できます) これは、関連するコードのビットです。
typedef struct {
int valid;
int row, col;
} Point;
typedef struct {
Point point;
int number;
char name;
char param[20];
char type[20];
} Agent;
int main(int argc, char **argv)
{
int steps;
int listSize = 0;
Agent *agentList = (Agent *) calloc(1, sizeof(Agent));
printf("%d size of agentList when initialised\n", sizeof(agentList));
if (argc != 4) {
error(SHOW_USAGE);
}
sscanf(argv[2], "%d", &steps);
if ((steps < 1)) {
error(BAD_STEPS);
}
readMap(argv[1]);
agentList = readAgentFile(argv[3], agentList);
print_agents(agentList);
return 0;