我们通常通过定义变量,对该变量附上一定的值来描述一个我们的研究对象。但是往往在实际生活中,我们所需要研究的对象不是仅仅一个变量可以描述清楚完善的,所以我们需要一种具有多方面信息描述能力的变量,这种变量在我们C语言中就被定义为结构体变量,所以我要为大家介绍的结构体是为结构体变量服务的。
1:首先们要学习如何构建结构体。结构体是有能力描述复杂对象的,结构体还可以让C语言创造新的类型。结构体是一种构造类型,他由若干成员组成。其成员可以是一个基本数据类型,也可以是另一个构造类型。声明一个结构体的过程,就是创建一种新的类型名的过程。生命结构体时使用的关键字是struct,其一般形式如下:
struct 结构体名
{
成员列表
}
2:声明完结构体后,就创造了一个新的类型名,后续就可以继续使用这种新的类型名定义变量,成为结构体变量。有两种方法。第一种是可以声明结构类型的同时定义结构体变量,例如
struct product
{
}product1,producy2;
第二种是直接定义结构变量(此时不需要给出结构体名称)。例如:
struct
{
}product1,product2;
3:结构体变量也和其他变量一样,需要赋初值。例如下格式:
struct student
{
char name[20];
char sex;
int grade;
}student={"HanXue",'w',3}; //定义结构体时,直接赋初值。
现在通过一个猜数字游戏让大家感受一下结构体的妙处
#define _CRT_SECURE_NO_WARNINGS
#include<string.h>
#include<stdlib.h>
#include<time.h>
#include<stdio.h>
void menu()
{
printf("***************************\n");
printf("******* 1.OPLAY ****\n");
printf("***************************\n");
printf("******* 0.0EXIT ****\n");
printf("***************************\n");
}
void game()
{
int guess = 0;
int set = rand()%100+1;
while (1)
{
printf("请猜猜数字:>\n");
scanf_s("%d", &guess);
if (set > guess)
{
printf("嘿嘿,猜小了\n");
}
else if (set < guess)
{
printf("哈哈,猜大了\n");
}
else
{
printf("哎哟,不错哟,恭喜你猜对了!\n");
break;
}
}
}
int main()
{
srand((unsigned int)time(NULL));
int input = 0;
do
{
menu();
printf("请选择:>");
scanf_s("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,请重新输入。\n");
break;
}
} while (input);
return 0;
}
哎哟,不错哟。有那个男人的味了,如果大家有什么疑问请尽管私信我,还有如果有错误内容请及时告知,避免误人子弟。