C语言学习笔记 内存(三)自定义数据类型(一)结构体(二)数组与指针

数组存储与指针学习笔记(三)指针与数组 主要从嵌入式角度介绍指针与数组的爱恨情仇 阅读详情

结构体数组

每个数组元素都是一个结构体类型的数据就是结构体数组

定义结构体数组一般形式:

  • struct 结构体名{成员表列}数组名[数组长度];

  • 先声明一个结构体,再用其类型定义结构体数组

     struct 结构体名 数组名[数组长度];
    

初始化一般就是通过在定义的数组后用{}给各元素依次赋值。

结构体指针

结构体变量的指针就是该结构体变量的起始地址。

  • 结构体变量指针既可以指向结构体变量,结构体数组的元素
  • 结构体变量指针的基类型必须与指向的结构体变量类型相同
struct A{
  int a;
  char b;
} cba,*p;

对于结构体指针,其引用结构体成员有以下方法

  • 利用指针 (*p).b 直接引用成员(不能忽略(),因为.运算级更高)
  • p->b 箭头为指向运算符

如果用结构体指针指向结构体数组,不应该指向具体成员而应该指向对象

,即使指针指向的是对象的第一个成员的首地址

如果想将结构体变量的值传递给另一个函数,可以

  • 用结构体变量的成员做参数
  • 用结构体变量做实参
  • 用指向结构体变量的指针做实参
C语言学习笔记:深入解析结构体数组(附代码实践) 本文详细介绍了C语言中结构体数组的定义、初始化和操作方法。主要内容包括: 结构体数组概念:存储同类型结构体变量的连续内存空间 定义与初始化:使用嵌套大括号语法初始化学生信息等结构化数据 访问方法:通过下标和点运算符访问成员,或使用指针和箭头运算符 实践案例:演示了遍历数组计算总分、均分及统计不及格人数的方法 指针操作:介绍了用指针访问结构体数组的两种等效方式 文章结合代码示例,系统讲解了结构体数组这一重要数据结构的应用场景和操作技巧。 阅读详情

相关推荐

c语言学习笔记

以上是一份 C 语言学习笔记的简要内容,C 语言还有很多其他的特性和高级用法,需要通过不断的学习和实践来掌握。

roki998877的博客 975

C语言自定义数据类型(二)使用结构体数组

结构体数组与以前介绍过的数值型数组的不同之处在于每个数组元素都是一个结构体类型的数据,它们都分别包括各个成员项。

伯努利 1万+

别再傻傻分不清!5分钟搞懂倾斜摄影里‘地面分辨率’和‘模型精度’到底啥关系

本文深入解析倾斜摄影中‘地面分辨率’与‘模型精度’的关系,帮助读者快速理解两者的本质区别与内在关联。通过实战案例和公式计算,详细说明如何从航飞设计到精度验证全流程控制,避免常见认知误区,并针对不同应用场景提供精度需求建议。

weixin_33700350的博客 477

C基础九

c基础学习九复合类型(自定义类型)结构体概述结构体变量的定义和初始化结构体赋值结构体大小结构体成员的使用结构体数组结构体套结构体结构体赋值结构体和指针结构体做函数参数共用体(联合体)枚举typedef 给类型取个名字 复合类型(自定义类型) 结构体 概述 数组:描述一组具有相同类型数据的有序集合,用于处理大量相同类型的数据运算。 有时我们需要将不同类型的数据组合成一个有机的整体,C语言中给出了另...

OldApple_MrZ的博客 791

windows11 远程桌面连接 通过代理连接RDP桌面报错 错误代码0x904 拓展错误代码0x7

打开windows Defender防火墙设置--允许应用通过防火墙更改设置--允许其他应用浏览--进入C:\WINDOWS\system32目录选择mstsc.exe进入C:\Windows\SysWOW64目录h'qmstsc.exe添加后列表里多了一个远程桌面连接,还有一个Remote Desktop Connection,配置网络权限后保存连接成功。

weixin_43978891的博客 1万+

傅里叶变换实战:用Python手把手教你分析音频频谱(附完整代码)

本文详细介绍了如何使用Python实现傅里叶变换进行音频频谱分析,涵盖音频加载、预处理、FFT应用、频谱可视化及特征提取等关键步骤。通过实战案例和完整代码,帮助开发者掌握数字信号处理技术,特别适合音频分析和音乐信息检索领域的应用。

weixin_29090677的博客 150

C语言数据结构入门之自定义数据类型数组

#include <stdio.h> #include <stdlib.h> // 定义新的类型代替已有类型名 typedef struct Student { char num[8]; char name[16]; char sex[3]; int age; char addr[30]; }; int main() { ...

kloumb的博客 1275

用AList挂载网盘,无损看VR电影教程,无需下载到PICO头显本地!

用AList挂载网盘 + WebDAV直连头显,看片像拉本地一样流畅,不怕卡顿、不怕没空间,简直是VR看片刚需配置!别再用U盘传电影了,用AList + WebDAV,直接流畅看4K,看片效率翻倍,体验提升一个档次!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 5545

C语言之——自定义数据类型

目录 前言:什么是自定义数据类型? 一,自定义数据类型之:数据类型命名 1,深入应用typedef: 二,自定义数据类型之:结构体类型命名 1,深入理解struct结构体: 三,自定义数据类型之:联合体类型命名 1,union与struct的区别: 2,union类型应用: 四,自定义数据类型之:枚举类型命名 前言:什么是自定义数据类型? 所谓自定义数据类型,就是用一个新名字重新对一个数据类型命名,后面新名字就有了该数据类型的功能,在调用该新名字时,就相当于调用该数据类型。...

m0_58702068的博客 7586

让openclaw接入web端的deepseek或着qwen,使用无限token

🪟 Windows: 提供原生的 PowerShell 一键安装支持!配置过程和官方版本是相同的,唯一的区别就是再选则model时要选择带Browser字样的deepseek或者qwen。安装之前需要先清理官方版本的安装痕迹,否则openclaw版本跳转不到这个中文版本。因为此版本与官方版本存在代差,在配置飞书时可能会出现无法安装飞书的情况。剩下的配置保持和官方版本一致操作即可。选中之后需要进行一次网页端的登录。登录后会出现可选择的model。安装完成后会跳到这个中文界面。涉及到接入飞书机器人的操作。

z1872385的博客 302

Kafka 入门篇(一)

初识 Kafka 什么是 Kafka Kafka 的基本术语 Kafka 的特性(设计原则) Kafka 的使用场景 Kafka 的消息队列 点对点模式的消息队列 发布-订阅模式的消息队列 Kafka 系统架构 核心 API Kafka 为何如此之快 broker 端配置 broker.id port zookeeper.connect log.dirs num.recovery.threads.per.data.dir auto.create.topics.enable topic默认配置 num.par

1234

C语言学习-结构体

结构体:我重生了,重生回到了刚学结构体的那一天,上一世我不可一世,以为学完C语言已天下无敌,直到遇到了}Node;数据结构(链表), 我的天哪,我不敢了,结构体大人,我看不懂,我太不自量力了,这一次我下定决心一定要好好学习结构体。因此,我决定写下这篇博客来警醒后面的人(doge)。总之,结构体是后续学各种数据结构的基础,加油吧!前面学过一般的指针,字符指针,数组指针,函数指针。结构体指针是一种指针,这种指针变量是指向结构体的。这种指针有什么用?结构体指针变量存储结构体变量的地址。

博客网站地址: https://arsenova.xyz 我会将优快云上的博客重修一部分迁移到网站上。 文章会做同步更新,但我不会在这个糟糕的平台多待1秒。下面是我要说的话,save your time. keep going 7547

26、电子测量与旋转编码器控制技术解析

本文深入解析了电子测量中的电感测量技术与旋转编码器的控制方法。介绍了LC电路振荡原理、滤波器类型及其应用,并通过代码实现了基于脉冲宽度的电感值计算。对比了陶瓷电容与电解电容在高频测量中的性能差异。在旋转编码器部分,详细阐述了其工作原理,提出了抖动问题和检测遗漏的解决方案,包括中断检测法和基于4位状态映射的高精度控制方法。文章还探讨了相关技术在电力系统、通信设备、工业自动化和智能家居中的应用,并展望了高精度、智能化、小型化和无线化的发展趋势,为电子系统设计提供了实用指导和技术参考。

elastic6hunter的博客 97

【C】指针与结构体---初阶

✨博客主页:心辛向荣 ✨系列专栏:【从0到1,C语言学习】 ✨一句短话:你若盛开,蝴蝶自来! ✨博客说明:尽己所能,把每一篇博客写好,帮助自己熟悉所学知识,也希望自己的这些内容可以帮助到一些在学习路上的伙伴,文章中如果发现错误及不足之处,还望在评论区留言,我们一起交流进步!😊 💻前言 🍁这篇博客总结指针与结构体的基本知识和用法,较为基础,这篇博客可以让你搞明白这些知识,并可以初步在一些场景下应用。 🍁之后还会更新对于结构体和指针部分的深入理解与应用。 🍁对于这部分内容一些更为基础的介绍和理解可以看..

trong_ 的烂笔头 1604

特殊通信领域场景应用:基于Simulink的数字预失真(DPD)算法仿真建模示例

增益压缩:高功率输入时输出信号的增益下降。相位失真:输入信号的相位随功率变化而改变。带外干扰:非线性失真会引入额外的频谱分量,影响邻道信号。多项式模型:用多项式拟合功率放大器的非线性特性。查找表(LUT):通过离线训练生成预失真映射表。自适应算法:实时调整预失真参数以动态补偿失真。发送端:生成随机比特流并调制为射频信号。预失真模块:对输入信号进行预失真处理。功率放大器模块:模拟非线性失真。接收端:解调信号并评估误码率(BER)。

xiaoheshang_123的博客 273

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C语言笔记(基本语法、结构体、数组、指针)

C语言基础语法简介

LLM | Agent | RAG | Java 2415

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C语言学习笔记之结构体

结构体是C语言中一种用户自定义的数据类型,用于将多个不同类型的数据组合成一个有机整体,便于处理复杂数据结构。

2402_84707567的博客 2605

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C语言学习笔记——自定义数据类型

C语言为我们提供了整型,浮点型两种基础的数据类型,同时为了方便程序员完成复杂的代码,C语言还提供了三种自定义数据类型——结构体,位段,枚举和联合体。

m0_74310998的博客 1496

C语言学习笔记3(数组,结构体,指针)

在定义的时候就是向系统申请内存空间,对于数组在申请空间的时候就是确定数组的长度的时候,所以长度一旦确定不能更改.赋值:虽然数组是一次性定义出来的,但是赋值的时候没办法一次性赋值,定义之后,数组只能一次一次赋值,那也就是说定义的时候可以一次性赋值(初始化一次一次赋值array[0]=1;array[1]=2;初始化赋值打印输出: 整形数组输出里面的元素不然在什么时候都只能一个一个输出,没办法一条语句一次性输出但是可以使用for循环输出n

m0_61391350的博客 1343

C语言学习记录10_数组、指针、结构体与联合

C语言学习记录11_指针、结构体与联合-基础

Zklys的博客 1770

C语言学习之指针总结

C语言的灵魂在于指针,对于初学者来说,对这个灵魂了解的更大程度上体现在难度上,但是实际上也仅仅是由于不熟练,只要学完过后,看几个例子,跟着写几段代码,就会发现其实指针和数组,循环,分支语法之类的运用难度上差不了很多(虽然数组的本质就是指针)。所以,要对自己有信心!接下来正文开始。

aacd2719的博客 2194

C语言学习:结构体(笔记)

1、结构体类型的定义和变量的定义 结构体是一种构造数据类型 (构造数据类型:数组类型、结构体类型(struct)、共用体类型(union)) 用途:把不同类型的数据组合成一个整体,类似Java中的类,但不同的是,C语言的构造体中木有函数(即Java中的方法)———自定义数据类型 1.1 定义一个结构体类型的一般形式struct [结构体名]//struct是关键字, 不能省略;结构体名为合法标识

大山的博客 2万+

c语言malloc数组后赋值为0_C语言学习笔记(三)指针

0 往期链接Chenglin Li:C语言学习(一)全部知识点Chenglin Li:C语言学习(二)指针函数分配内存1 指针指针式C语言中的一个重要概念,也是C语言的一个重要特色。指针可以有效的表达复杂的数据结构、动态分配内存、有效的利用内存空间。能方便的表示数组和字符串,提高数据处理效率。指针作为函数参数,能使函数调用得到多余1个的值。2 指针开辟内存/* float *DropLowestM...

weixin_36204727的博客 1817

嵌入式C语言学习笔记 - 函数、数组、指针

指针变量是用来存放内存地址的变量,在同一CPU构架下,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的。不同类型的指针之间,是不能互相赋值的,void类型的指针打破了上面的观念,void没有任何类型;指针变量占用的大小,和数据类型无关,和编译器相关的(32位:32字节,64位:64字节);变量地址:说的是变量的首地址, &a 取变量a的地址(4字节) 以上基于32位操作系统。void类型的指针,无法获取变量中的数据,也不能进行指针的加减计算;

MM_MG的博客 946

C语言学习笔记,学懂C语言,看这篇就够了!(下)

一份较为全面的C语言学习笔记(下)

weixin_69675605的博客 3013
上一篇: C语言学习笔记 内存(三)自定义数据类型(一)结构体(一)
下一篇: C语言刷题笔记 day005 2021.8.18
金石就好
博客等级 码龄7年 11粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值