c的学习11 (结构体1)

 结构体是为了方便数据的管理储存,写代码的效率而进行设计的一种数据类型.

其申请的方式为

struct <结构体的名称>

{

变量类型 变量名;

变量类型2 变量名;

...

}

结构体的申请一般在主函数的外面

结构体的使用初始化赋值

方法一:

struct <结构体名称> <结构体变量名>={ 变量1,变量2,变量3 };

方法二:

struct <结构体名称> <结构体变量名>;

<结构体名称>.<结构体变量名> = 变量值;

还可以使用结构体指针来对数据进行更改

具体操作见代码:

#include<stdio.h>
#include<stdlib.h>
#define scanf scanf_s
struct student	//仅仅只是定义了一个新的数据类型
{
	int age;		//定义一个结构中的整型变量
	float socre;		//定义一个结构体中的浮点型变量
	char sex;			//字符类型


};
int main(void)
{
	struct student ming = {21,66.5,'m'};//初始化结构体变量
	struct student *pming = &ming;//申请结构体指针pming存放ming的地址
	
	//修改结构体内的变量
	ming.age = 22;//修改ming的年龄
	pming->age = 21;//等价于(*pming).age,等价于 ming.age
	pming->socre = 66.6F;//66.6在c语言中是double类型,如果希望66.6是float类型,则需要输入66.6f或66.6F
	/*
	pming->age所指向结构体ming其中age那个变量的地址
	*/
	printf("ming的年龄为%d\n ming的成绩为%f\n ming的性别为%c\n", pming->age, ming.socre,ming.sex);//66.6不能准确存储;只能存储一个近似值

	return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct Student
{
	int age;
	float score;
	char sex;

};

void InputStudent(struct Student *Pming)//形式参数是结构体指针变量对结构体变量进行修改
{
	Pming->age = 23;
	Pming->score = 66.6;
	Pming->sex = 'f';
}
void OuputStudent(struct Student ming)//对结构体变量进行输出
{
	printf("%d %f %c",ming.age,ming.score,ming.sex);

}

int main(void)
{
	struct Student ming;
	//struct Student *pming = (struct Student*)malloc(10);
	//pming = &ming;
	InputStudent(&ming);//对结构体变量进行输入,应该发送地址给函数
	OuputStudent(ming);//对结构体变量进行输出,可以直接发送变量给函数,也可以发送地址个函数,但是发送地址给函数可能对变量的值进行修改,对总体而言不安全.
	/*
	发送地址给函数,那么程序所用的内存较小,但是危险性就比较高						
	*/

	/*
	
	指针的重要性
	1.指针可以快速的传递数据
	2.可以使函数返回一个以上的值
	3.能够直接访问硬件
	4.能够方便的处理字符串
	5.是理解面向对象编程的基础
	*/

	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值