所以我有这些结构
typedef struct user
{
char username[30];
char password[30];
char email[100];
char nome[30];
}user;
typedef struct admin
{
char nome[30];
char passwd[30];
}admin;
我想用它们创建这些数组
user database[50];
user banlist[100];
admin list[10];
我如何为他们分配内存
答案 0 :(得分:2)
你已经分配了内存。你通过所谓的静态分配(或更具体的自动内存分配)来做到这一点。
如果要动态分配内存,则必须使用:
user *database = malloc(sizeof(user) * 50);
user *banlist = malloc(sizeof(user) * 100);
admin *list = malloc(sizeof(admin) * 10);
当你不再需要那些变量时,不要忘记释放空间。
free(database);
free(banlist);
free(list);
有关详情,请参阅:Difference between static memory allocation and dynamic memory allocation