6. 结构体和自定义类型

这篇具有很好参考价值的文章主要介绍了6. 结构体和自定义类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

结构体与自定义类型

  • 结构体:将相关的数据放置在一起
    • 可以通过点操作符( . )访问内部元素

    • 可以作为函数的输入参数或返回类型

      一个简单的代码示例:

      // self-defined data type -- struct
      #include <iostream>
      
      struct Point {
        int x;
        int y;
      }; // Point
      
      void printPoint(Point p) { 
        std::cout << "x: " << p.x << " y: " << p.y << "\n"; 
      }
      
      Point handlePoint(Point p) {
        p.x = p.x + 1;
        p.y = p.y + 2;
        return p;
      }
      
      int main(void) {
        Point p;
        p.x = 255;
        p.y = 0;
        printPoint(p);
        auto new_point = handlePoint(p);
        std::cout << "x: " << new_point.x << " y: " << new_point.y << "\n";
        return 0;
      }
      

      编译运行结果:

      > g++ -Wall -g struct.cpp -o struct
      > ./struct
      x: 255 y: 0
      
    • 可以引入成员函数,更好地表示函数与数据的相关性

      示例代码:文章来源地址https://www.toymoban.com/news/detail-821948.html

      // self-defined data type -- struct
      #include <iostream>
      
      struct Point {
        int x;
        int y;
        void IncP() {	// member func: incP
          x = x + 1;
          y = y + 1;                                                   
        }
      }; // Point
      
      void printPoint(Point p) { 
        std::cout << "x: " << p.x << " y: " << p.y << "\n"; 
      }
      
      int main(void) {
        Point p;
        p.x = 255;
        p.y = 0;
        printPoint(p);
        
        p.incP();
        printPoint(p);
        return 0;
      }
      

到了这里,关于6. 结构体和自定义类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 结构体和数据结构--向函数传递结构体

    将结构体传给函数的方式有以下三种: 目录 一、用结构体的单个成员作为函数参数,向函数传递结构体的单个成员 二、用结构体变量作函数实参,向函数传递结构体得完整结构 三、用结构体指针或结构体数组作函数参数,向函数传递结构体的地址。         用单个结构体

    2024年02月04日
    浏览(35)
  • c++结构体和文件

    当涉及到 C++ 中的结构体和文件操作时,我们需要了解如何定义和使用结构体,以及如何进行文件的读取和写入。下面是一篇关于 C++ 结构体和文件操作的文章: C++ 是一种强大的编程语言,它提供了丰富的特性和功能,其中包括结构体和文件操作。结构体是一种用户自定义的

    2024年01月18日
    浏览(27)
  • 【C语言】【数据结构】自定义类型:结构体

    这是一篇对结构体的详细介绍,这篇文章对结构体声明、结构体的自引用、结构体的初始化、结构体的内存分布和对齐规则、库函数offsetof、以及进行内存对齐的原因、如何修改默认对齐数、结构体传参进行介绍和说明。                  ✨  猪巴戒 :个人主页✨      

    2024年02月05日
    浏览(27)
  • 结构体和链表例题2

    1、成绩系统之输入输出 题目描述 陈老师布置同学们完成一个小型的成绩管理系统,据说完成后至少可以有200行以上的代码,这可是课程学习到现在最大的编码量了。一下子写这么大的一个程序你可能会觉得无从着手,所以老师希望你先从输入输出开始。已知有n个学生,每个

    2024年02月03日
    浏览(27)
  • Rust结构体和枚举类

    Rust初步上手⚙所有权 元组结构体是最简单的结构体,可以粗暴地理解为是有名字的元组,二者的区别如下。 第一行代码将一个元组绑定给变量tup,而tup要求三个位置的变量分别是32位整型、双精度以及8位无符号整型。 而元组结构体则首先需要有一个名字,通过struct声明结构

    2024年02月05日
    浏览(42)
  • 自定义类型:结构体,枚举,联合 (2)

    位段的出现就是为了节省空间。 位段的声明和结构是类似的,有两个不同: 1.位段的成员必须是 int、unsigned int 或signed int 。 2.位段的成员名后边有一个冒号和一个数字。 比如:  A就是一个位段类型,位段的位指的是二进制位,成员名后的数字代表着占空间的多少个bit位,

    2024年02月05日
    浏览(33)
  • 自定义类型:结构体进阶学习分享

    结构体在C语言中具有重要的意义。它不仅可以封装和组织数据,还可以提供抽象和封装的能力,方便数据的传递和操作,提高代码的可读性和可维护性,是C语言中常用的数据类型之一。本篇博客将详细介绍相关知识。 在结构体初阶我们以及详细介绍过了有关结构体的基础。

    2024年02月16日
    浏览(34)
  • 自定义类型之结构体,枚举,联合

    在初识结构体一文中,我们对结构体已经有所了解. 1.结构体的声明, 2.结构体变量的定义与初始化, 3.结构体传参. 其实结构体是一个很重要的内容,在数据结构中,应用十分广泛.所以学好 结构体 也是十分重要的! 匿名结构体是一种省略struct后面的类型名的一种结构体类型. 这种情

    2023年04月09日
    浏览(36)
  • 结构体和联合体嵌套访问

    在JSON项目中,使用了联合体和结构体之间的嵌套,但是在访问内部的联合体和结构体的时候出现了问题,这篇文章作为记录,也希望能帮助遇到相同问题的好伙伴。 上面是最原始的代码,上面的代码可以通过下面的代码访问double n和lept_type type, 但是无法访问str结构体内部的

    2024年02月07日
    浏览(33)
  • 自定义类型:结构体----初学者笔记

    目录 1. 结构体类型的声明 1.1 结构体类型的简单介绍和声明 1.1.1 结构的声明 1.1.2 特殊的声明 1.1.3 结构的自引用 2. 结构体变量的创建和初始化 3. 结构成员访问操作符 4. 结构体内存对⻬ 4.1 对齐规则 4.2 练习 4.2.1 练习1 4.2.2 练习2 4.3 为什么存在内存对⻬? 4.4 修改默认对齐数

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包