服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言入门篇--初识结构体

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

2021-12-22 14:56yycure C/C++

本篇文章是基础篇,适合c语言刚入门的朋友,本文对c语言的结构体做了简单的分析,帮助大家快速入门c语言的世界,更好的理解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;
}

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

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语言结构体的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/m0_46630468/article/details/119779164

延伸 · 阅读

精彩推荐
  • C/C++C语言实现双人五子棋游戏

    C语言实现双人五子棋游戏

    这篇文章主要为大家详细介绍了C语言实现双人五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    两片空白7312021-11-12
  • C/C++使用C++制作简单的web服务器(续)

    使用C++制作简单的web服务器(续)

    本文承接上文《使用C++制作简单的web服务器》,把web服务器做的功能稍微强大些,主要增加的功能是从文件中读取网页并返回给客户端,而不是把网页代码...

    C++教程网5492021-02-22
  • C/C++C语言main函数的三种形式实例详解

    C语言main函数的三种形式实例详解

    这篇文章主要介绍了 C语言main函数的三种形式实例详解的相关资料,需要的朋友可以参考下...

    ieearth6912021-05-16
  • C/C++c/c++实现获取域名的IP地址

    c/c++实现获取域名的IP地址

    本文给大家汇总介绍了使用c/c++实现获取域名的IP地址的几种方法以及这些方法的核心函数gethostbyname的详细用法,非常的实用,有需要的小伙伴可以参考下...

    C++教程网10262021-03-16
  • C/C++OpenCV实现拼接图像的简单方法

    OpenCV实现拼接图像的简单方法

    这篇文章主要为大家详细介绍了OpenCV实现拼接图像的简单方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    iteye_183805102021-07-29
  • C/C++深入C++拷贝构造函数的总结详解

    深入C++拷贝构造函数的总结详解

    本篇文章是对C++中拷贝构造函数进行了总结与介绍。需要的朋友参考下...

    C++教程网5182020-11-30
  • C/C++c/c++内存分配大小实例讲解

    c/c++内存分配大小实例讲解

    在本篇文章里小编给大家整理了一篇关于c/c++内存分配大小实例讲解内容,有需要的朋友们可以跟着学习参考下。...

    jihite5172022-02-22
  • C/C++关于C语言中E-R图的详解

    关于C语言中E-R图的详解

    今天小编就为大家分享一篇关于关于C语言中E-R图的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看...

    Struggler095962021-07-12