欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

C语言入门篇--初识结构体

时间:2022-07-12 10:57:11|栏目:C代码|点击:

1.为什么要有结构体

(1)之前int、char等类型描述的结构体非常单一,只可描述一种类型。
(2)数组也是描述同一类型的集合,只可描述一种类型。
(3)而结构体使得C语言可以描述复杂类型,比如学生类型( 包含学生的名字、年龄、性别、电话号等信息)。

结构体和数组的区别:
结构体:用来描述相同/不同数据元素类型的集合。
数组:用来描述具有相同数据元素类型的集合。

2.结构体的定义

2.1结构体类型的定义

格式:

struct Stu//结构体类型名字为struct Stu(struct Stu类似于int)
{
    //结构体内容
	char Name[20];
	int Age;
	char Sex[5];
	char Tel[12];
};//记着加;

注意:
(1)结构体类型的定义是在main函数外部。
(2)此处指定义了一个结构体类型,还未定义对应结构类型的变量,所以还未在内存中开辟空间。

2.2定义结构体普通变量及访问

struct Stu Tom = { “Tom”, 13, “男”, “11122546698” };
//定义结构体普通变量并初始化,变量名为Tom,用变量名访问结构体。

#include <stdio.h>
struct Stu
{
	char Name[20];//名字
	int Age; //年龄
	char Sex[5];//性别
	char Tel[12];//电话号
};
int main()
{
	struct Stu Tom = { "Tom", 13, "男", "11122546698" };
	printf("%s,%d,%s,%s\n", Tom.Name, Tom.Age, Tom.Sex, Tom.Tel);//用变量名和结构成员运算符(.)访问结构体。	
	return 0;
}

在这里插入图片描述

2.3定义结构体指针变量及访问

struct Stu *s = &Tom;
//定义结构体指针变量,s指向Tom,有如下两种访问方式。

#include <stdio.h>
struct Stu
{
	char Name[20];//名字
	int Age; //年龄
	char Sex[5];//性别
	char Tel[12];//电话号
};
int main()
{
	struct Stu Tom = { "Tom", 13, "男", "11122546698" };
	struct Stu *s = &Tom;	
	//用结构体指针运算符->访问(常用访问方式)
	printf("%s,%d,%s,%s\n", s->Name, s->Age, s->Sex, s->Tel);
	//s为指针变量,*s对指针解引用,代表指针所指向的内容。
	//而且用指针和结构成员运算符(.)访问结构体时,由于结构成员运算符(.)比指针引用运算符(*)的优先级高,必须代括号。
	printf("%s,%d,%s,%s\n", (*s).Name, (*s).Age, (*s).Sex, (*s).Tel);
	
	return 0;
}

在这里插入图片描述

上一篇:一篇文章教你用C语言模拟实现字符串函数

栏    目:C代码

下一篇:C++遍历某个文件夹下面的子文件夹及其所有文件

本文标题:C语言入门篇--初识结构体

本文地址:http://www.codeinn.net/misctech/207605.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有