首页 > 其他分享 >结构体(初阶知识)

结构体(初阶知识)

时间:2024-07-12 20:01:41浏览次数:19  
标签:初阶 num struct 知识 dc sex high peo 结构

一.什么是结构

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

1.结构体声明格式

关键字+标签{成员列表}结构体变量

2.结构体成员的类型

可以是变量、指针、数组甚至是结构体

浮点数在内存中不能精确保存,

3.结构体的初始化

4.结构体的成员访问

变量用点操作符,指针用箭头操作符访问成员

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct peo
{
	char name[9];
	char num[11];
	char sex[3];
	int high;


}p3, p4;
struct peo p5, p6;
struct st
{
	struct peo p;
	int num;
	float f;
};
void print2(struct peo kl) {
	printf("%s %s %s %d ", kl.name, kl.num, kl.sex, kl.high);
}
void print(struct peo* dc)
{
	printf("%s %s %s %d\n", dc->name, dc->num, dc->sex, dc->high);//指针指向
	//对象用.操作符,指针用箭头操作符。
}
int main()
{
	struct peo p = { "张三","17856565642","男",181 };
	struct st s = { { "lisi","5634653435","女",166 },100,3.14f };
	//结构体打印方式
	printf("%s %s %s %d\n", p.name, p.num, p.sex, p.high);
	printf("%s %s %s %d %d %f\n", s.p.name, s.p.num, s.p.sex, s.p.high, s.num, s.f);
	print(&p);
	print2(p);
	return 0;
}

5.结构体传参

传参的时候都是要压栈的

首选应该是传址调用

传值:比较浪费空间

传址

标签:初阶,num,struct,知识,dc,sex,high,peo,结构
From: https://blog.csdn.net/2401_82699702/article/details/140273360

相关文章

  • Linux 使用结构化命令--练习
    练习一用elif语句为某用户创建账户检查该用户名是否存在,如果存在返回“该用户已存在”,并输出该用户的信息如果不存在,检查/home下是否有该用户的文件夹如果有该用户名称的文件夹,输出文件夹下内容如果没有该用户文件夹,为该用户名创建新用户每一步都需要返回提示信息如“该用户......
  • 8086/8088CPU的储存器结构(一)
    一、CPU的寄存器1、通用寄存器组执行部件EU中有8个16位通用寄存器。可分为两组,第一组为通用数据寄存器,由AX,BX,CX和DX构成;第二组为指针与变址寄存器,由SP,BP,SI和DI构成;主要用来存放操作数的偏移地址(1)通用数据寄存器用来存放16位的数据或地址,也可以分别将这四个寄存器AX,B......
  • 数据结构(Java):队列&集合Queue&力扣面试OJ题
    1、队列1.1队列的概念队列是一个特殊的线性表,只允许在一端(队尾)进行插入数据操作,在另一端(对头)进行删除数据。队列具有先进先出FIFO(FirstInFirstOut)的特性。入队:数据只能从队尾进队列    出队:数据只能从对头出队列即:队尾进队头出我们可以把队列想象为一个排队......
  • 字符集相关知识
    什么是字符集?字符集又称字符编码,在计算机中所有数据都是二进制形式,包括abc@#$。字符编码规定了用哪些二进制数表示哪些符号。 ASCII编码单字节表示法,有一个扩充bit,另外7bit可以表示128个字符,其中有33个控制和95个可显示字符。 helloworldASCII68656C6C6......
  • 音视频开发基础知识
    视频解码解复用(Demux):解复用也可叫解封装。这里有一个概念叫封装格式,封装格式指的是音视频的组合格式,常见的有mp4、flv、mkv等。通俗来讲,封装是将音频流、视频流、字幕流以及其他附件按一定规则组合成一个封装的产物。而解封装起着与封装相反的作用,将一个流媒体文件拆解成音频......
  • 7-LinkedHashSet底层结构和源码分析
    7-LinkedHashSet底层结构和源码分析介绍汇总:LinkedHashSet全面说明LinkedHashSet底层机制说明1-LinkedHashSet全面说明LinkedHashSet底层是一个LinkedHashMap,底层维护了一个数组+双向链表。由于LinkedHashMap是继承HashMap的所有特性的,其双向链表是在原本的数......
  • AI Agent 的发展现状、行业结构与趋势分析
        Agent 来自一种哲学概念,是个很古老的哲学术语,从哲学意义上讲,“代理”的概念涉及实体的自主性,具有行使意志、做出选择和采取行动的能力,而不是被动地对外部刺激做出反应。后来人们将这一概念引入计算机科学领域,用 Agent 概念指代整个人工智能,认为人工智能是“基于......
  • 数组的基本知识
    数组的定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。(从0开始)数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组......
  • 解读跳表(Skip Lists):一种平衡树的简单高效替代数据结构
    我们知道跳表是一种简单,高效的数据结构,在很多知名的开源存储产品中有着广泛的应用,比较广为人知的就是Redis中的有序集合,此外在Kafka、LevelDB等需要高性能索引的数据库相关产品中,也有skiplist的身影。多年前,第一次接触到跳表的时候,就有一种震撼的感觉。数组的特点是可以索引,但......
  • 自定义类型:结构体
     一、结构体的声明结构体是一些值的集合,这些值称为成员变量。结构的每个成语可以是不同的类型的变量。1.1结构体变量的创建和初始化结构体的初始化为分为按照结构体成员的顺序初始化和按照指定的顺序初始化1.2结构体的特殊声明在声明结构体的时候,可以不完全的声明如......