首页 > 编程语言 >C++——结构体

C++——结构体

时间:2022-10-12 09:56:13浏览次数:52  
标签:变量 struct C++ member Sketch1 结构 指针

一、定义

  结构体是用户自定义的数据结构,包含不同类型的数据元素。

  结构体通过 struct 语句定义,格式如下所示:

1 struct type_name {
2     member_type1 member_name1;
3     member_type2 member_name2;
4     member_type3 member_name3;
5     ...
6     ...
7 }  object_names;

   type_name :结构体类型的名称;

   member_type1 member_name1 :标准的变量定义

   object_names :结构体变量,可指定多个

二、访问成员

  对于结构体内的成员,一般通过成员访问运算符(.)

三、指向结构体的指针

  对于指向结构体的指针,定义方式与指向其他类型变量的指针相似, struct type_name *struct_pointer2 = &object_name1; ,而使用指向该结构体的指针访问成员变量时,应使用 -> 运算符。

四、含有指针变量的结构体

  1)初始化

    对于指针变量,在使用前必须初始化

1 struct Sketch_Type {
2     int depth, width;
3     char *key;
4     int* value;
5 } Sketch1;
6 
7 Sketch1 = new char[Sketch1.depth*Sketch1.width]();
8 Sketch1 = new int[Sketch1.depth*Sketch1.width];

  2)作为函数参数

    结构体变量中指针变量会随之变量,而一般变量的变化无法保存(可写成引用&类型保存变量的变化)

 

  

标签:变量,struct,C++,member,Sketch1,结构,指针
From: https://www.cnblogs.com/hjxiamen/p/16782950.html

相关文章

  • MySQL中dd::columns表结构转table过程以及应用
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。一、MySQL的dd表介绍二、代码跟踪三、知识......
  • <三>从编译器角度理解C++代码编译和链接原理
    1代码点击查看代码**sum.cpp**intgdata=10;intsum(inta,intb){returna+b;}**main.cpp**externintgdata;intsum(int,int);intdata=20;intmain......
  • C++智能指针
    C++提供了四个智能指针模版类,分别为:auto_ptr,unique_ptr,shared_ptr与weak_ptr(其中auto_ptr为C++98提供的解决方案,在C++11中已废除,并提供另外三种)。这三者均定义了类似指......
  • c++函数模板
    按照之前所学,是需要根据形参类型的不同来重载函数的。但是根据函数模板则可以解决这个繁琐的问题。调用时才区分类型。 主函数中: 补充: 主函数中:  ......
  • 数据结构 玩转数据结构 2-7 动态数组
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13412 1重点关注1.1数组动态伸缩参见3.1coding 1.2泛型数组参见3.2......
  • 结构体struct知识
    2022-10-1208:52:03                                    //   结构体知识#define......
  • 开源,跨平台免费C++ IDE ---Code::Block
     CodeBlock是一个免费,开源的C++IDE,它看上去有一个一致的外观,满足用户的需要,具有扩展性和可配置性。这个IDE有你需要的所有功能,并且它是跨平台的。另外,其具有插件框架......
  • C++ 智能指针详解
    这篇博客主要参考上面这个博客和《Boost程序库完全开发指南:深入C++准标准库》第三版   一个智能指针就是一个C++的对象,这个对象的行为像一个指针,但是它却可以在其......
  • 数据结构 链表(第7、8天)
    链表这里面的链表题比较简单,只要会遍历链表、删除链表节点、反转链表这些基本操作就行。必要时可以画图辅助理解。141.环形链表给定一个链表,判断是否有环。思路:快慢指......
  • C++:类、类的构造与析构
    概念引述  C++的OOP特点已经耳熟能详,封装,继承,多态。封装主要体现在namespace、stock、funtion;继承体现为类继承;多态体现为类之间通过继承关联时。因此C++进阶的前提就是......