C语⾔之struct--(结构体数组)
C语⾔的结构体是⼀种特殊的数据类型,或者称之为⾼级的数据类型,我们常说的int,long,float,double都属于基础类型,基础类型只能存储类型⼀致的数据。⽽结构体则能够存储不同的类型,它能够存储int ,char ,long 的复合类型。下⾯是⼀个我⽤结构体写的简单的实例,使⽤结构体先构造⼀个book类型的结构体,可以存储多个book类型的值,这个称为结构体数组,代码的第22⾏声明了⼀个结构数组,顾名思义,结构数组是指能够存放多个结构体类型的⼀种数组形式。
1/**
2该程序使⽤结构体构造了⼀个简单的书籍结构体
3主要是结构体数组的使⽤⽅法
4*/
5 #include <stdio.h>
6#define MAX_TITLE_SIZE 30
7#define MAX_AUTHOR_SIZE 40
8#define MAX_SIZE 2
9//构造⼀个BOOK结构体,⽤于存放title,author,price
10struct book
11 {
12char title[MAX_TITLE_SIZE];
13char author[MAX_AUTHOR_SIZE];
14float price;
15 };
16int main()
17 {
18//设置⼀个计数器,⽤来计数输⼊的次数
19int count=0;
20//设置另外⼀个计数器,⽤来遍历显⽰输⼊的book
21int index=0;
22struct book lib[MAX_SIZE];
23    printf("Set Book Title \n");
24//对相关的参量进⾏数据输⼊
25while(count<MAX_SIZE&&
26          printf("title is:")&&gets(lib[count].title)!=NULL && lib[count].title[0]!='\n')
27            {
28                printf("SET Your AUthor : \t");
29                gets(lib[count].author);
30                printf("SET BOOKS price: \t");
31                scanf("%f",&lib[count].price);
32                    count++;
33//如果不为\n,就继续下⼀次的数据输⼊
34while(getchar()!='\n')
35                {
36continue;
37                }
38
39if(count<MAX_SIZE)
40                {
41                    printf("Enter to next LINE to set title\n");
42
43                }
44            }
c语言struct头文件45if(count>0)
46        {
47            printf("Here are book lists \n");
48//遍历结构体数组
49for(index=0;index<count;index++)
50                {
51                printf("The Title is %s And The Author is %s And price is %f \n"
52                            ,lib[index].title,lib[index].author,lib[index].price);
53                }
54        }
55return0;
56 }
以下是代码的运⾏结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。