我尝试了很多组合,但实际上没有任何效果。时间已经够长了,所以我决定写这个问题。
我只想要一个指向结构的指针数组,以便以后可以通过交换地址轻松对其进行排序。我有一个从文件中获取数据并写入数组的函数。不幸的是,我不可能在函数之外读取这些数据。
我最后一次尝试(我删除了文件操作,因为这些不是问题):
页眉.h:
#pragma once
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
int32_t year;
uint16_t month;
uint16_t day;
} Date;
typedef struct {
char name[16];
Date date;
uint32_t number;
} Player;
size_t readData(Player** players);
来源.c:
#include "Header.h"
size_t readData(Player** players) {
players = NULL;
players = realloc(players, sizeof(Player*) * 1);
players[0] = malloc(sizeof(Player));
strcpy(players[0]->name, "asd");
printf("$ %s\n", players[0]->name);//OK
return 1;
}
int main() {
Player **players = NULL;
uint32_t elemCount, i;
elemCount = readData(players);
printf("> %s", players[0]->name);//BUM - ERROR!
return 0;
}
我正在使用 Visual Studio Community 2015。我知道用 C 进行编码并没有那么多,但我设法配置了解决方案,而且它似乎不是 imo 的事情。
我将非常感谢您的帮助。然而,我想把它看作是我的代码的翻版。我尝试了一些其他类似 StackOverFlow 的问题的答案,但它们没有帮助。