结构体 结构时一种构造数据类型,由若干数据项组合而成

 1 //结构体 结构时一种构造数据类型,由若干数据项组合而成
 2 
 3 //1.结构定义并不预留内存 2.结构定义一般放在程序的开始部分(头文件声名之后)
 4 //3.结构定义仅用来描述结构的形式,使用结构需要声名结构变量
 5 
 6 
 7 #include<stdio.h>
 8 #include<stdlib.h>
 9 #include<string.h>
10 
11 //结构体 1,2
12 struct Hero
13 {
14     int id;             //英雄的id
15     char name[50];      //英雄的名称
16     int level;          //英雄的等级
17     int hp;             //英雄的血量
18     int mp;             //英雄的魔法值
19     char skill[50];     //英雄的技能
20 } ;
21 
22 
23 //指针结构体 3
24 struct HeroA
25 {
26     int id;             //英雄的id
27     char * name;      //英雄的名称
28     int level;          //英雄的等级
29     int hp;             //英雄的血量
30     int mp;             //英雄的魔法值
31     char skill[50];     //英雄的技能
32 } ;
33 
34 
35 int main()
36 {
37     //使用结构体 1
38 
39     struct Hero hero1;
40     hero1.id = 1;
41     strcpy(hero1.name,"盖伦");
42     hero1.level = 16;
43     hero1.hp = 500;
44     hero1.mp = 100;
45     strcpy(hero1.skill,"转圈圈");
46     printf("%d\t%s\t%d\t%d\t%d\t%s\n",hero1.id,hero1.name,hero1.level,hero1.hp,hero1.mp,hero1.skill);
47 
48 
49     //2
50     struct Hero hero2 ={2,"亚索",10,1000,200,"哈瑟i给"};
51     printf("%d\t%s\t%d\t%d\t%d\t%s\n",hero2.id,hero2.name,hero2.level,hero2.hp,hero2.mp,hero2.skill);
52 
53 
54 
55     //3 指针
56      struct HeroA hero3 ={3,"瑞文",14,1000,200,"断剑之翼"};
57      printf("请输入英雄的名称:");
58      hero3.name=(char*)malloc(50);
59      scanf("%s",hero3.name);
60      printf("%d\t%s\t%d\t%d\t%d\t%s\n",hero3.id,hero3.name,hero3.level,hero3.hp,hero3.mp,hero3.skill);
61 
62 
63     return 0;
64 }

 

posted on 2021-07-28 08:55  Bytezero!  阅读(113)  评论(0编辑  收藏  举报