当前位置: 首页 > news >正文

入门C语言只需一个星期(星期六)

点击上方"蓝字"关注我们

01、创建结构体

struct MyStructure {  // 结构声明  int myNum;     // 成员(int 变量)  char myLetter; // 成员(char 变量)}; // 用分号结束结构创建一个名为 s1 的结构变量struct myStructure {  int myNum;  char myLetter;};int main() {  struct myStructure s1;  return 0;}

02、结构体中的字符串

struct myStructure {  int myNum;  char myLetter;  char myString[30]; // String};int main() {  struct myStructure s1;  strcpy(s1.myString, "Some text");  // 打印值  printf("我字符串: %s", s1.myString);  return 0;}使用 strcpy 函数为字符串赋值

03、访问结构体成员

// 创建一个名为 myStructure 的结构struct myStructure {  int myNum;  char myLetter;};int main() {  // 创建一个名为 s1 的 myStructure 结构变量  struct myStructure s1;  // 为 s1 的成员赋值  s1.myNum = 13;  s1.myLetter = 'B';  // 创建一个名为 s2 的 myStructure 结构变量  // 并为其赋值  struct myStructure s2 = {13, 'B'};  // 打印值  printf("My number: %d\n", s1.myNum);  printf("My letter: %c\n", s1.myLetter);  return 0;}创建不同的结构变量struct myStructure s1;struct myStructure s2;// 为不同的结构变量赋值s1.myNum = 13;s1.myLetter = 'B';s2.myNum = 20;s2.myLetter = 'C';

04、复制结构体

struct myStructure s1 = {  13, 'B', "Some text"};struct myStructure s2;s2 = s1;示例中,将 s1 的值复制到 s2

05、修改结构体值

// 创建一个结构变量并为其赋值struct myStructure s1 = {  13, 'B'};// 修改值s1.myNum = 30;s1.myLetter = 'C';// 打印值printf("%d %c %s",    s1.myNum,    s1.myLetter);

总结

上节回顾

入门C语言只需一个星期(星期五)

C语言中的结构体(struct)是一种用户自定义的数据类型,可以用来组织一组相关的数据成员。结构体的常见用法包括:

1. 封装数据:结构体可以用来封装相关联的数据成员,使得数据的表示更加清晰和易于理解。例如,可以定义一个学生结构体,包含学号、姓名、年龄等成员。

2. 实现数据共享:当多个函数或模块需要访问相同的数据时,可以使用结构体来实现数据共享。这样可以避免数据重复定义,提高代码的可维护性。

3. 传递数据:结构体可以作为函数参数或返回值,实现数据的传递。例如,可以将学生的信息作为参数传递给一个函数,或者在函数中创建一个新的学生结构体并返回。

4. 数组和链表:结构体可以用于构建数组和链表等数据结构。例如,可以定义一个节点结构体,包含数据和指向下一个节点的指针,然后使用这些节点来构建链表。

5. 面向对象编程:虽然C语言不是面向对象的语言,但结构体可以用来模拟面向对象编程中的类和对象的概念。例如,可以定义一个动物结构体,包含动物的属性和方法,然后使用不同的动物结构体实例来表示不同的动物。

结构体的好处主要有以下几点:

1. 封装性:结构体可以将一组相关的数据成员封装在一起,对外提供统一的接口,隐藏内部实现细节。这有助于提高代码的可读性和可维护性。

2. 复用性:结构体可以包含多个数据成员,这些数据成员可以是不同类型的数据。通过定义不同的结构体类型,可以实现代码的复用,减少代码量。

3. 灵活性:结构体可以包含任意数量的数据成员,成员的类型也可以不同。这使得结构体具有很高的灵活性,可以适应各种不同的应用场景。

4. 数据共享:当多个函数或模块需要访问相同的数据时,可以使用结构体来实现数据共享。这样可以避免数据重复定义,提高代码的可维护性。

5. 数组和链表:结构体可以用于构建数组和链表等数据结构。例如,可以定义一个节点结构体,包含数据和指向下一个节点的指针,然后使用这些节点来构建链表。

6. 面向对象编程:虽然C语言不是面向对象的语言,但结构体可以用来模拟面向对象编程中的类和对象的概念。例如,可以定义一个动物结构体,包含动物的属性和方法,然后使用不同的动物结构体实例来表示不同的动物。

故我在

点击下方卡片 关注我

↓↓↓

Qt历险记

一名技术分享师,分享方向:->Qt(C/C++、linux、STM32、MySql/Sqlite3、TCP/UDP),设计方面->Ai、PS、visio、AD、Protues。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Gemma的简单理解;Vertex AI的简单理解,与chatGpt区别
  • Guitar Pro 8 中文破解版百度云免费下载
  • uni-app 影视类小程序开发从零到一 | 开源项目推荐
  • 从安装Node到TypeScript到VsCode的配置教程
  • k8s集群 安装配置 Prometheus+grafana
  • 【大数据面试题】38 说说 Hive 怎么行转列
  • 「网络通信」HTTP 协议
  • 服务器系统盘存储不够,添加数据盘并挂载(阿里云)
  • 各模型文件后缀及其相关框架和用途的简要介绍
  • SCI一区级 | Matlab实现SSA-CNN-GRU-Multihead-Attention多变量时间序列预测
  • 学懂C语言(十): C语言位运算符(按位与、按位或、左移、右移、异或、取反)的计算过程和底层原理
  • vue使用audio 音频实现播放与关闭(可用于收到消息给提示音效)
  • 4.基础知识-数据库技术基础
  • 河南萌新联赛2024第(一)场:河南农业大学
  • kafka---消息日志详解
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CentOS7 安装JDK
  • jquery cookie
  • Linux快速复制或删除大量小文件
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Python 反序列化安全问题(二)
  • React-生命周期杂记
  • vue学习系列(二)vue-cli
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 面试遇到的一些题
  • 使用common-codec进行md5加密
  • 微信小程序填坑清单
  • 想写好前端,先练好内功
  • 用jquery写贪吃蛇
  • 正则学习笔记
  • ​如何在iOS手机上查看应用日志
  • !!java web学习笔记(一到五)
  • #pragma预处理命令
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • ( 10 )MySQL中的外键
  • (13)DroneCAN 适配器节点(一)
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (二)JAVA使用POI操作excel
  • (函数)颠倒字符串顺序(C语言)
  • (回溯) LeetCode 131. 分割回文串
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (转)Mysql的优化设置
  • (转)nsfocus-绿盟科技笔试题目
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .bashrc在哪里,alias妙用
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • @SuppressWarnings(unchecked)代码的作用
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)