#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char name[20];
int hp;
} Monster;
Monster creMonster(char *name, int hp){
Monster m;
m.hp = hp;
return m;
}
int main(void){
int n, i;
Monster *monsters;
// 動的確保
monsters
= (Monster
*)malloc(sizeof(Monster
) * n
); if(monsters == NULL){
return 1;
}
// モンスター作成(例)
for(i = 0; i < n; i++){
char name[20];
int hp;
scanf("%s %d", name
, &hp
); monsters[i] = creMonster(name, hp);
}
// 表示
for(i = 0; i < n; i++){
printf("name: %s hp: %d\n", monsters
[i
].
name, monsters
[i
].
hp); }
// 解放
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgY2hhciBuYW1lWzIwXTsKICAgIGludCBocDsKfSBNb25zdGVyOwoKTW9uc3RlciBjcmVNb25zdGVyKGNoYXIgKm5hbWUsIGludCBocCl7CiAgICBNb25zdGVyIG07CiAgICBzdHJjcHkobS5uYW1lLCBuYW1lKTsKICAgIG0uaHAgPSBocDsKICAgIHJldHVybiBtOwp9CgppbnQgbWFpbih2b2lkKXsKICAgIGludCBuLCBpOwogICAgTW9uc3RlciAqbW9uc3RlcnM7CgogICAgc2NhbmYoIiVkIiwgJm4pOwoKICAgIC8vIOWLleeahOeiuuS/nQogICAgbW9uc3RlcnMgPSAoTW9uc3RlciAqKW1hbGxvYyhzaXplb2YoTW9uc3RlcikgKiBuKTsKICAgIGlmKG1vbnN0ZXJzID09IE5VTEwpewogICAgICAgIHByaW50ZigiRVJST1JcbiIpOwogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgIC8vIOODouODs+OCueOCv+ODvOS9nOaIkO+8iOS+i++8iQogICAgZm9yKGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICBjaGFyIG5hbWVbMjBdOwogICAgICAgIGludCBocDsKCiAgICAgICAgc2NhbmYoIiVzICVkIiwgbmFtZSwgJmhwKTsKICAgICAgICBtb25zdGVyc1tpXSA9IGNyZU1vbnN0ZXIobmFtZSwgaHApOwogICAgfQoKICAgIC8vIOihqOekugogICAgZm9yKGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICBwcmludGYoIm5hbWU6ICVzIGhwOiAlZFxuIiwgbW9uc3RlcnNbaV0ubmFtZSwgbW9uc3RlcnNbaV0uaHApOwogICAgfQoKICAgIC8vIOino+aUvgogICAgZnJlZShtb25zdGVycyk7CgogICAgcmV0dXJuIDA7Cn0K