结构是不同数据类型变量的集合,在一个名称下组合在一起。
C编程语言中结构的特点如下 -
可以使用赋值运算符将不同数据类型的所有结构元素的内容复制到其类型的另一个结构变量中。
为了处理复杂的数据类型,最好在另一个结构中创建结构,称为嵌套结构。
可以将整个结构、结构的单个元素和结构的地址传递给函数。
可以创建结构指针。
以下是使用结构存储库存系统的 C 程序-
#include<stdio.h> #include<conio.h> void main(){ struct date{ int day; int month; int year; }; struct details{ char name[20]; int price; int code; int qty; struct date mfg; }; struct details item[50]; int n,i; printf("输入项目数:"); scanf("%d",&n); fflush(stdin); for(i=0;i<n;i++){ fflush(stdin); printf("项目名称:"); scanf("%s",item[i].name); fflush(stdin); printf("项目代码:"); scanf("%d",&item[i].code); fflush(stdin); printf("Quantity:"); scanf("%d",&item[i].qty); fflush(stdin); printf("price:"); scanf("%d",&item[i].price); fflush(stdin); printf("Manufacturing date(dd-mm-yyyy):"); scanf("%d-%d-%d",&item[i].mfg.day,&item[i].mfg.month,&item[i].mfg.year); } printf(" ***** INVENTORY *****\n"); printf("------------------------------------------------------------------\n"); printf("S.N.| NAME | CODE | QUANTITY | PRICE |MFG.DATE\n"); printf("------------------------------------------------------------------\n"); for(i=0;i<n;i++) printf("%d %-15s %-d %-5d %-5d%d/%d/%d\n",i+1,item[i].name,item[i].code,item[i].qty,item[i].price,item[i].mfg.day,item[i].mfg.month,item[i].mfg.year); printf("------------------------------------------------------------------\n"); getch(); }输出结果
执行上述程序时,会产生以下结果 -
输入项目数:5 项目名称:pen 项目代码:12 Quantity:50 price:25 Manufacturing date(dd-mm-yyyy):12-02-2020 项目名称:pencil 项目代码:15 Quantity:100 price:30 Manufacturing date(dd-mm-yyyy):11-03-2020 项目名称:book 项目代码:34 Quantity:30 price:60 Manufacturing date(dd-mm-yyyy):15-04-2020 项目名称:bag 项目代码:39 Quantity:20 price:70 Manufacturing date(dd-mm-yyyy):12-03-2021 项目名称:sharpner 项目代码:33 Quantity:20 price:40 Manufacturing date(dd-mm-yyyy):12-04-2021 ***** INVENTORY ***** ------------------------------------------------------------------ S.N.| NAME | CODE | QUANTITY | PRICE |MFG.DATE ------------------------------------------------------------------ 1 pen 12 50 25 12/2/2020 2 pencil 15 100 30 11/3/2020 3 book 34 30 60 15/4/2020 4 bag 39 20 70 12/3/2021 5 sharpner 33 20 40 12/4/2021