【C语言结构体题目汇】

一:结构体描述简单例子

struct stu
{
	//成员变量
	char name[20];
	short age;
	char tele[12];
	char sex[5];
};s1, s2, s3;//s1,s2,s3 是三个全局的结构体变量
//
int main()
{
	struct stu s;//局部的结构体变量
		return 0;
}

结构体
描述一个学生一些数据
名字
年龄
电话
性别
struct 结构体关键字 stu-结构体标签 struct stu -结构体类型
};定义一个结构体类型

二:typedef的作用

简单的介绍:typedef struct stu//typedef是把struct stu 重新起一个名字stu
例一:

{
	//成员变量
	char name[20];
	short age;
	char tele[12];
	char sex[5];
}stu;//stu是类型
int main()
{
	stu s;
 return 0;

}

例二:


typedef struct stu//typedef是把struct stu 重新起一个名字stu
{
	//成员变量
	char name[20];
	short age;
	char tele[12];
	char sex[5];
}stu;//stu是类型
int main()
{
	stu s1 = {"张三"20"15952455169","男"};
struct stu s2 = { "旺财"30"1234423242","女" };//在创建的时候就是初始化


 return 0;

}

三:结构体成员的类型

结构的成员可以是标量,数组,指针,和其他的结构体

结构体成员中是其他结构体例子

#include<stdio.h>
struct S
{
	int a;
	char c;
	char arr[20];
	double d;
};
struct T
{
	char ch[10];
	struct S s;//结构体成员可以是其他结构体
	char* pc;
};
int main()
{
	char arr[] = "hello bit\n";
	struct T t = { "hehe",{100,'w',"hello world",3.14},arr };//创建一个变量
	printf("%s\n", t.ch);//hehe
	printf("%s\n", t.s.arr);//hello world
	printf("%lf\n", t.s.d);//3.14
	printf("%s\n", t.pc);//hello.bit
	return 0;
}

四:不同方式打印结构体

4.1用函数来打印结构体例子

#include<stdio.h>
typedef struct stu
{
	//成员变量
	char name[20];
	short age;
	char tele[12];
	char sex[5];
}stu;
void pint1(stu tmp)//tmp或者什么都可以来接收s
{
	printf("name:%s\n", tmp.name);
	printf("age:%d\n", tmp.age);
	printf("tele:%s\n", tmp.tele);
	printf("sex:%s\n", tmp.sex);
}
int main()
{
	stu s = { "李四",40,"18655131970","男" };
	pint1(s);
	return 0;
}

4.2利用指针来打印

#include<stdio.h>
typedef struct stu
{
	//成员变量
	char name[20];
	short age;
	char tele[12];
	char sex[5];
}stu;
void pint2(stu* ps)
{
	printf("name:%s\n", ps->name);
	printf("age:%d\n", ps->age);
	printf("tele:%s\n", ps->tele);
	printf("sex:%s\n", ps->sex);
}
int main()
{
	stu s = { "李四",40,"18655131970","男" };
	pint2(&s);
	return 0;
}

补充说明:用指针更好因为传递的是地址,传递的是地址
如果用函数传递的数值过大就会发生意外

开始慢慢的刷题了,不焦躁,不自卑,不傲慢,要谦虚请教,多多学习,努力的做好自己,看到优秀的人要学习!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直爱莲子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值