栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言学习基础 之 结构体(8)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言学习基础 之 结构体(8)

结构体的声明  结构的基础知识

结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。

结构的声明
struct tag
{
  member-list;
}variable-list;
//struct 结构体关键字 struct Stu - 结构体类型
struct Stu
{
	char name[20];
	short age;
	char tele[12];
	char sex[5];

}s1,s2,s3;// 在定义结构体之后,直接创建了三个全局的结构体变量

int main()
{
	struct Stu s;
	return 0;
}
//typedef 给struct Stu 结构体类型,重新起了一个别名Stu,可以直接使用这个别名创建新的对象
typedef struct Stu
{
	char name[20];
	short age;
	char tele[12];
	char sex[5];

}Stu;

int main()
{
	Stu s = {"Jack",23,"13530325097","male"};
	return 0;
}
结构成员类型 

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

结构体变量的初始化

Stu s = {"Jack",23,"13530325097","male"};

在结构体变量创建的时候使用 { } 往里面填写结构体成员变量的值的方式给结构体变量进行初始化。

结构体成员的访问 
  • 结构体变量访问成员是通过点操作符(.)访问的
  •  结构体指针访问成员变量通过(->) 访问
结构体传参
#include 

typedef struct Stu
{
	char name[20];
	short age;
	char tele[12];
	char sex[5];

}Stu;

void print(Stu s)
{
	printf("name: %sn", s.name);
	printf("age : %dn", s.age);
	printf("tele: %sn",s.tele);
	printf("sex : %sn",s.sex);
}

void print1(Stu* ps)
{
	printf("name: %sn", ps->name);
	printf("age : %dn", ps->age);
	printf("tele: %sn", ps->tele);
	printf("sex : %sn", ps->sex);

}

int main()
{
	Stu s = {"Jack",23,"13530325097","male"};
	print(s);
	print1(&s);
	return 0;
}

使用两种方式来进行结构体传参,print()方法转递的结构体变量,我们知道使用传值的方式进行函数传参时,形参是实参的一份临时空间拷贝,会开辟出一块新的空间将实参里面内容进行拷贝,如果结构体很大,数据量很多,系统的内存开销会增大很多,而且复制内容所需要的时间也很多,会导致程序性能的降低

所以在结构体传参的时候,要传结构体的地址。

 文章是基于比特鹏哥C语言学习视频的学习笔记,仅用于学习。请勿转载,请勿商用 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1033677.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号