fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct {
  6. char name[20];
  7. int hp;
  8. } Monster;
  9.  
  10. Monster creMonster(char *name, int hp){
  11. Monster m;
  12. strcpy(m.name, name);
  13. m.hp = hp;
  14. return m;
  15. }
  16.  
  17. int main(void){
  18. int n, i;
  19. Monster *monsters;
  20.  
  21. scanf("%d", &n);
  22.  
  23. // 動的確保
  24. monsters = (Monster *)malloc(sizeof(Monster) * n);
  25. if(monsters == NULL){
  26. printf("ERROR\n");
  27. return 1;
  28. }
  29.  
  30. // モンスター作成(例)
  31. for(i = 0; i < n; i++){
  32. char name[20];
  33. int hp;
  34.  
  35. scanf("%s %d", name, &hp);
  36. monsters[i] = creMonster(name, hp);
  37. }
  38.  
  39. // 表示
  40. for(i = 0; i < n; i++){
  41. printf("name: %s hp: %d\n", monsters[i].name, monsters[i].hp);
  42. }
  43.  
  44. // 解放
  45. free(monsters);
  46.  
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0s 5320KB
stdin
5
stdout
name:  hp: 0
name:  hp: 0
name:  hp: 0
name:  hp: 0
name:  hp: 0