C语言结构体的学习与实践

本文介绍了C语言中的结构体,它允许我们定义包含多个成员的复杂变量。通过声明结构体,我们可以创建新的类型,用于描述具有多方面属性的对象。文章详细讲解了如何声明和定义结构体变量,并给出了一个简单的猜数字游戏示例,展示了结构体在实际编程中的应用。此外,还提到了结构体变量的初始化方法。
摘要由CSDN通过智能技术生成

我们通常通过定义变量,对该变量附上一定的值来描述一个我们的研究对象。但是往往在实际生活中,我们所需要研究的对象不是仅仅一个变量可以描述清楚完善的,所以我们需要一种具有多方面信息描述能力的变量,这种变量在我们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;
}

哎哟,不错哟。有那个男人的味了,如果大家有什么疑问请尽管私信我,还有如果有错误内容请及时告知,避免误人子弟。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值