数据结构->线性结构->顺序存储->静态链表

一、思路

        链表由节点组成。

1、分析需求,画图:

2、定义学生结构体,包含姓名、年龄、性别和下一个学生的指针:

#include <stdio.h>
#define N 20// 定义性别枚举类型,固定值,不是男就是女
typedef enum{Female,Male
}gender_type;// 定义学生结构体,包含姓名、年龄、性别和下一个学生的指针
typedef struct stu{char name[N];unsigned char age; // 范围0~255足够用gender_type gender;struct stu *next;
}student;

3、初始化学生:

// 初始化学生s1
student s1 = {"1-zhangsan", 20, Male, NULL};
// 初始化学生s2
student s2 = {"2-lisi", 21, Female, NULL};
// 初始化学生s3,使用结构体初始化语法
student s3 = {.name = "3-wangwu",.age = 22,.gender = Female,.next = NULL // 代表最后一个节点
};

4、构建学生链表:

s1.next = &s2;
s2.next = &s3;

5、封装打印所有学生信息函数:

void print_stu(student *p)
{while(p != NULL){printf("name:%s, age:%d, gender:%d\n", p->name, p->age, p->gender);p = p->next;}
}

6、打印所有学生信息:

    要找到链表的第一个节点,通过首节点找下一个节点,
最后一个节点的特征是 next 为空,这样就遍历完成整个链表。
print_stu(&s1); // 传入首节点的地址

二、源代码

#include <stdio.h>
#define N 20// 定义性别枚举类型
typedef enum{Female,Male
}gender_type;// 定义学生结构体,包含姓名、年龄、性别和下一个学生的指针
typedef struct stu{char name[N];unsigned char age;gender_type gender;struct stu *next;
}student;/*** 打印学生信息* @param p 学生链表的头指针*/
void print_stu(student *p)
{while(p != NULL){printf("name:%s, age:%d, gender:%d\n", p->name, p->age, p->gender);p = p->next;}
}int main(void)
{// 初始化学生s1student s1 = {"1-zhangsan", 20, Male, NULL};// 初始化学生s2student s2 = {"2-lisi", 21, Female, NULL};// 初始化学生s3,使用结构体初始化语法student s3 = {.name = "3-wangwu",.age = 22,.gender = Female,.next = NULL};// 构建学生链表s1.next = &s2;s2.next = &s3;// 打印所有学生信息print_stu(&s1);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

torchscript接口

一、定义 定义script、eager、onnx 模式对比案例生成的模型可以被c调用接口解读 二、实现 定义 可以在高性能环境libtorch&#xff08;C &#xff09;中直接加载&#xff0c;实现模型推理&#xff0c;而无需Pytorch训练框架依赖无需代码&#xff0c;直接加载模型&#xff0c…

国中水务:果汁能救“水”吗?

喝下汇源果汁有什么&#xff08;“功效”&#xff09;&#xff1f;这家公司最有发言权。 今天我们聊聊——国中水务。 最近&#xff0c;国中水务公告称拟通过收购&#xff0c;间接控股北京汇源&#xff0c;即将把“垂涎已久”的汇源收入囊中。 两家的故事得从几年前说起&#…

学习大数据DAY21 Linux基本指令2

目录 思维导图 搜索查看查找类 find 从指定目录查找文件 head 与 tail 查看行 cat 查看内容 more 查看大内容 grep 过滤查找 history 查看已经执行过的历史命令 wc 统计文件 du 查看空间 管道符号 | 配合命令使用 上机练习 4 解压安装类 zip unzip 压缩解压 tar …

git跨库合并

1、背景 A为开发环境的代码仓库&#xff0c;B为生产环境的代码仓库。A和B之间不能通信。开发人员的本地电脑可以和A、B通信。 目的 上线时&#xff0c;需要将A代码合并B代码。 2、实现 2.1 添加远程仓库 2.1.1 代码方式 在B代码仓库中,将A添加为远程仓库。 git remote …

【保姆级教程】油猴脚本的安装使用

目录 前言 一、油猴简介 1. 核心功能 2. 应用场景 3. 安全性与兼容性 4. 社区生态 二、教学开始&#xff08;嫌麻烦直接目录跳转开始学习&#xff09; 1.插件安装&#xff08;以Microsoft Edge浏览器为例&#xff09; 2.获取脚本 3.大展身手 三、扩展&#xff08;脚…

2024年7月23日(samba DNS)

​ 回顾 1、关闭防火墙&#xff0c;关闭selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 2、修改静态IP地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改uuid的目的是为了保证网络的唯一性 3、重启网络服务 systemctl restart netwo…

Ansible的脚本-----playbook剧本【上】

目录 1.playbook剧本组成 2.playbook剧本实战演练 2.1 实战演练一&#xff1a;给被管理主机安装httpd服务 2.2 实战演练二&#xff1a;定义、引用变量 2.3 实战演练三&#xff1a;指定远程主机sudo切换用户 2.4 实战演练四&#xff1a;when条件判断 2.5 实战演练五&…

【Matlab 传感器布局优化】基于群智能算法的wsn覆盖优化研究

一 背景介绍 无线传感器网络&#xff08;Wireless Sensor Network, WSN&#xff09;作为远程环境监测系统应用的关键技术&#xff0c;能够在有限的能源供应下提供高效的传感和通信服务。覆盖控制是保证高效通信和可靠数据传输的重要手段。鉴于复杂的物理环境限制了节点部署方式…

文本编辑三巨头(grep)

目录 正则表达式 元字符 grep 案例 我在编写脚本的时候发现&#xff0c;三个文本编辑的命令&#xff08;grep、sed、awk&#xff0c;被称为文本编辑三剑客&#xff0c;我习惯叫它三巨头&#xff09;用的还挺多的&#xff0c;说实话我一开始学的时候也有些懵&#xff0c;主要…

Unity3D之TCP网络通信(客户端)

文章目录 概述TCP核心类异步机制 Unity中创建TCP客户端Unity中其它脚本获取TCP客户端接受到的数据后续改进 本文将以Unity3D应用项目作为客户端去连接制定的服务器为例进行相关说明。 Unity官网参考资料&#xff1a; https://developer.unity.cn/projects/6572ea1bedbc2a001ef…

2024年平面设计软件:六大选择

无论是与营销还是产品设计&#xff0c;平面设计都是当今各个行业不可或缺的一部分。然而&#xff0c;随着平面设计软件的范围和复杂性的不断扩展&#xff0c;设计师和业余用户可能更难知道哪些工具最能满足他们的需求。 本文将分析当今流行的分析 6 个平面设计 App&#xff0c…

mac清理软件哪个好用免费 MacBook电脑清理软件推荐 怎么清理mac

随着使用时间的增长&#xff0c;mac电脑会积累一些不必要的垃圾文件&#xff0c;这些文件会占用宝贵的存储空间&#xff0c;影响电脑的运行速度和稳定性。因此&#xff0c;定期清理mac电脑的垃圾文件是非常有必要的。市场上有许多优秀的Mac清理软件&#xff0c;包括一些出色的国…

AI产品经理怎样入门?

AI产品经理需要熟悉AI基础知识&#xff0c;包括AI行业现状&#xff0c;数学统计学&#xff0c;AI模型构建和模型基本概念。 之所以需要具备这些知识&#xff0c;是因为实现AI产品必然会涉及相应的AI技术&#xff0c;如果AI产品经理不了解相应技术基础&#xff0c;就不能很好的…

photoshop学习笔记——移动工具

移动工具&#xff0c;可以对图层进行移动&#xff0c;快捷键 V 使用的素材已经放上了&#xff0c;直接下载即可 按住ctrl 可以自动选取&#xff0c;鼠标点击哪个对象&#xff0c;自动选中哪个图层 按住 shift 校正角度&#xff08;只能沿着直线移动&#xff09; 按住 alt 拖…

llama模型,nano

目录 llama模型 Llama模型性能评测 nano模型是什么 Gemini Nano模型 参数量 MMLU、GPQA、HumanEval 1. MMLU(Massive Multi-task Language Understanding) 2. GPQA(Grade School Physics Question Answering) 3. HumanEval llama模型 Large Language Model AI Ll…

网络七层协议之 网桥、网卡、交换机、路由器、网关 作用

OSI七层模型 和 TCP/IP四层模型 数据传输单位、对应的设备 物理层&#xff1a;网线 数据链路层&#xff1a;网卡、网桥、交换机 网路层&#xff1a;路由器、网关 网卡的作用 网卡(Network Interface Card, NIC)是计算机上用于连接网络的硬件设备。 网卡是计算机连接网络、传…

机器学习实战笔记5数据标准化

1.读取csv文件实现特征化 import numpy as np import pandas as pd from sklearn.preprocessing import StandardScaler StandardScaler是一个用于标准化特征的工具&#xff0c;通过移除均值并缩放到单位方差来实现。 df pd.read_csv("./p039.csv") df scaler S…

windows10 安装CUDA教程

如何在windows10系统上安装CUDA? 1、查看电脑的NVIDIA版本 nvidia-smi 2、官网下载所需CUDA版本 官网地址:https://developer.nvidia.com/cuda-toolkit-archive 我们所安装的CUDA版本需要小于等于本机电脑的NVIDIA版本。推荐使用迅雷下载,速度会更快哦。 3、安装步骤

《你敢不学习?》numpy库——细细学<2>

续接上集: 1、reshape函数&#xff1a;重塑数组的形状 改变数组的维度 其语法为 numpy.reshape(arr, newshape, orderC) 如下图所示 首先生成一个1到17不包括17的16个元素的数组&#xff0c;然后对这个数组进行重塑&#xff0c;使其成为4行4列的二维数组&#xff0c;注意&…

性价比之争:上海闵行装修公司性价比大比拼

在繁华的上海&#xff0c;装修市场的竞争愈发激烈&#xff0c;业主们在追求品质的同时更加注重性价比。今天&#xff0c;我们就来对比几家知名的上海装修公司&#xff0c;看看哪家能在性价比之战中脱颖而出。 1.即住空间装饰即住空间以其“高质量、高效率”而被受消费者好评&a…