0

現在、構造体の配列を作成しています。配列を初期化すると、構造体の要素が 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;
4

2 に答える 2