struct用法_struct函数-程序员宅基地

技术标签: 算法  c++  数据结构  

struct定义:C语言允许用户自己建立有不同类型的数据组成的组合类型的数据结构,它被称为结构体。

例如:一个学生{性别,年龄,学号,姓名},花括号里面的称为结构体的子项,也称为结构体成员

struct student
	{
		char name[20];					//姓名为字符数组
		int age;						 //年龄为整形
		char sex[2];					//性别为字符
		int num[10];					//学号为整型
	};									//分号为结构体的结束标志

上述程序中struct为关键字不可省略,经过上面的指定struct student,就在本程序中是一个可以使用的合法类型名,它包括姓名,年龄,性别,学号。 

定义结构体变量:先声明结构体类型,在定义该类型的变量

Struct Student-->结构体类型

student1,student2-->结构体变量

在定义结构体变量后,系统会为之分配内存单元。根据结构体类型中包含的成员情况分布。

例如上面有(20+4+2+40)=66;

struct sutdent
	{
		char name[20];				//姓名为字符数组
		int age;					//年龄为整形
		char sex;					//性别为字符
		int num;					//学号为整型
	}student1.student2;				//结构体变量student1,student2

struct 结构体名

{

成员列表;

}变量列表;

注意:

1.结构体类型与结构体变量是不同的概念。只能对变量赋值,取存或运算,而不能对结构体类型赋值等;在编译时,对结构体类型不分配内存,只对结构体变量赋值。

2.结构体类型中的成员可以与程序中的变量名相同,但是二者代表的对象不同。

3.结构体整变量中的成员,可以单独使用;

结构变量的初始化和引用

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	struct sutdent
	{
		char name[20];					//姓名为字符数组
		int age;						 //年龄为整形
		char sex;					     //性别为字符
		int num;					    //学号为整型
	}student1 = { "王小乔",18,'m',2021032700 };				//结构体变量student1
	printf("name:%s\nage:%d\nsex:%c\nnum:%d", student1.name, student1.age, student1.sex, student1.num);
	return 0;

运行结果:

name:王小乔
age:18
sex:m
num:2021032700

结构体变量引用方式

结构体变量名.成员名

scanf函数输入结构体体变量

用scanf输入结构体变量时,必须分别输入他们的成员值,注意,scanf函数中在成员Student1中,student.name没有&,这是应为数组名本身就代表地址。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	struct sutdent
	{
		char name[40];					//姓名为字符数组
		int age;						 //年龄为整形
		char sex;					     //性别为字符
		int num;					    //学号为整型
	}student1; //= { "王小乔",18,'m',2021032700 };				//结构体变量student1,student2					//分号为结构体的结束标志
	scanf("%s %d %c %d", student1.name, &student1.age, &student1.sex, &student1.num);
	printf("name:%s\nage:%d\nsex:%c\nnum:%d", student1.name, student1.age, student1.sex, student1.num);
	return 0;
}

运行结果:

name:王小乔
age:18
sex:m
num:2021032700

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_62921710/article/details/127460767

智能推荐

没有画的画册-程序员宅基地

文章浏览阅读537次。前 记  说起来也真奇怪!当我感觉得最温暖和最愉快的时候,我的双手和舌头就好像有了束缚,使我不能表达和说出我内心所起的思想。然而我却是一个画家呢。我的眼睛这样告诉我;看到过我的速写和画的人也都这样承认。  我是一个穷苦的孩子。我的住..._天才的荣誉中会被埋入尘土只有平庸的材料获得称赞这是一个古老的故事不过这故

安卓ROM开发入门到精通-程序员宅基地

文章浏览阅读1w次,点赞10次,收藏44次。包含内容:第一期主要为ROM开发,ROM定制技术资料,提供一些工具为主 ,让你学会简单做包,和基本的ROM DIY技巧,偶尔附加一些必要的教程。第二期针对ROM技术教程,细分知识点,重点剖析、解释,形成一系列的知识文档供查阅,目前大纲已列出,可以教你从零开始做包。1.第一期---技术资料(维护更新):更新日志:1.书籍-Android系统级深入开发——移植与调试2.开发工具-And..._安卓rom开发

SCIP | 数学规划求解器SCIP超详细的使用教程_混合整数规划求解器——scip-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏33次。前言小伙伴们大家好呀!继上次lp_solve规划求解器的推文出来以后,大家都期待着更多求解器的具体介绍和用法。小编哪敢偷懒,这不,赶在考试周之际,又在忙里偷闲中给大家送上一篇SCIP规划求解的推文教程。快一起来看看吧。Part1 惯例科普篇What is SCIP?官方的介绍:SCIP is currently one of the fastest non-commerci..._混合整数规划求解器——scip

怎么拍照翻译外语?几款工具让你轻松get韩语-程序员宅基地

文章浏览阅读1.2k次,点赞48次,收藏12次。别担心,现在有了韩语拍照翻译的软件,一切都变得简单啦!,使得在没有网络连接的情况下也能使用翻译服务,这对于经常出国或在网络不稳定区域的用户来说是一个巨大的优势。只需打开应用,选择拍照翻译,对准需要翻译的文字,即可获得翻译结果。你还不知道有哪些好用的拍照翻译工具?它提供了图片翻译功能,可以在编辑文档时直接翻译图片中的文字。,只需选择拍照翻译,对准文本即可获得翻译结果,非常适合需要快速翻译的场合。它的图片翻译功能界面直观,可以轻松上传图片进行翻译。,它都能迅速得到翻译结果,极大地方便了多语言环境下的沟通。

【逗老师带你学IT】Kiwi Syslog Web Access与Active Directory集成认证-程序员宅基地

文章浏览阅读4.1k次。Kiwi是windows平台下一个不错的syslog软件。_kiwi syslog web access

举例谈谈自动化专业本科的几种发展方向-程序员宅基地

文章浏览阅读452次,点赞2次,收藏6次。前些天和高中班主任聚会,知道了周老师的公子去年刚考上浙大的自动化本科。聚会上周老师问了几乎所有同学大四的发展和前景,看得出周老师觉得经济、贸易、管理一类的专业比较有“钱途”而且更安逸,也隐隐觉得周老师有意愿让小公子改专业。 由于周老师要求我写一下自动化专业的发展,害怕自己说的有什么疏忽或者偏颇,先给大家看看,希望大家多提意见。先谢过了。 首先说明,我指的自动化专业不包含..._简述自动化发展方向有哪些,并举例说明

随便推点

undefined reference to ‘cv::imread问题调查_undefined reference to `cv::imread-程序员宅基地

文章浏览阅读4.7k次,点赞2次,收藏2次。Android ndk 编译报错:error: undefined reference to 'cv::imread(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, int)' #include <opencv2/core.hpp> #include <openc_undefined reference to `cv::imread

Vite 的好与坏,你怎么看?-程序员宅基地

文章浏览阅读7.6k次,点赞4次,收藏2次。全文 3000 字,欢迎点赞关注转发一、Vite 是什么2020年4月,尤大大发了这么一个推:随后,2021年2月,Vite 2.0 它来了,上来就是一套组合拳:基于 esbuild 实现..._怎么评价vite

python基础之运算符(五)_python使用赋值运算符将num1增加5-程序员宅基地

文章浏览阅读245次。文章目录- 算术运算符- 赋值运算符- 复合赋值运算符- 位运算符- 比较运算符- 逻辑运算符- 成员运算符- 身份运算符- 算符优先级运算符python支持以下几种运算符- 算术运算符下面以a=10 ,b=20为例进行计算运算符描述实例+加两个对象相加 a + b 输出结果 30-减得到负数或是一个数减去另一个数 a - b 输出结果 -10*..._python使用赋值运算符将num1增加5

启动计算机引导windows10,Win10系统引导项丢失了怎么办?修复Win10系统启动引导项的方法...-程序员宅基地

文章浏览阅读8k次,点赞2次,收藏10次。近来,有位用户反馈自己在扩大电脑C盘容量后,发现D盘win10系统的引导文件突然丢失了。这是怎么回事呢?原来该用户的电脑C盘中原先装有Win7系统,D盘中则安装了Win10系统,经过无损分区后,就导致了D盘Win10开机系统启动选项的丢失。下面,小编就向大家分享Win10系统引导项丢失问题的解决方法。解决方法:1、如果不想重装Win10的话,只能用EasyBCD来修复系统启动引导项了。先下载Eas..._修复电脑启动引导项

Word报告自动生成(例如 导出数据库结构),理论+实战双管齐下_一键生成word报告-程序员宅基地

文章浏览阅读750次,点赞23次,收藏12次。以图四为例,数据库有多少张表是不固定的,我们在制作模板的时候不可能先画好N(N为表的总数)个表格等待数据填充, 这里就会需要遍历数据源中提供的所有表结构数据,然后逐一形成表格。注意这里省略了表序号,当级别为0的时候 ,自动取最后一个datatable中的数据,因为这个label经常会用到其他表汇总的数据,可能会用到之前几张表的数据,所以放在其他表都处理好后。当级别为1的时候,自然取该级别循环的行数据。级别:默认文档级别为0,出现的第一层循环为1,其内部若再次嵌套循环则级别为2,依次类推。_一键生成word报告

人脸识别(一)调用face++实现人脸检测。_face px-程序员宅基地

文章浏览阅读2w次,点赞3次,收藏37次。2017年下半年以来,随着iPhoneX的人脸解锁功能把人脸识别这一黑科技带入大家的视野中之后,各种有关人脸识别功能的新闻和报道层出不穷。不仅是对普通群众来说,对我们程序猿来说,百度,微软,阿里等各大公司推出的可供调用的人脸识别api也如雨后春笋一般冒出来。鉴于公司以后业务发展需要,同时也是个人兴趣所致,对调用其他公司api实现人脸识别进行了一定的技术调研,于是调研成果写成几篇博客分享出来,供大家一_face px

推荐文章

热门文章

相关标签