接下来的一点时间我将会记录下我看的c++的一些心得体会,人贵在坚持,希望我可以一直坚持下去!!Go Fighting!

一.c++复合数据类型:

数组类型的一些注意事项:

  1. sizeof的用法:
  • 当用在数组名上时,例如int a[5];sizeof(a);得到的结果为5*sizeof(int);然而若是用在指向该数组的指针上时,例如int* b=a;sizeof(b);得到的结果为4(其实就是sizeof(int));
  • sizeof和strlen的区别:后者是用来测量字符串的长度的,其判断地依据是字符串结束后的'\0'。strlen只是单纯的计算字符串的个数,且就算是用指针也可以得到字符串的个数!
  1. 数组不能将一个数组直接赋值给另外一个数组
  1. 字符串数组。char a[10],当给其用字符串初始化时,将会自动的在其后部添加'\0',且储存在字符串数组中的字符串的一些操作,合并,删减,需要函数strcpy,strcat等等,需加上头文件<cstring>,
  1. 字符串:字符串的使用必须加上头文件<string>,字符串之间可以直接赋值,string c,b="qq";c=b;类似于这样的,包括相应的字符串的增长可以通过加法实现,其长度可以通过c.size();类方法实现。
  2. 数组还有一些替代品

vector类:在使用时首先要添加头文件<vector>,声明的格式是vector <typename> a(n);

结构体的一些注意事项(struct):

  1. 结构体之间可以通过直接赋值的方法传递结构体中的值
1 struct view
2 {
3     float a;
4     int    b[2];
5 };
6 view x1 = { 1.0, { 1.0, 2.0 } };//结构体对象初始化个成员之间用,连接
7 view  x2 = x1;//即便是数组也可以赋值

  1. 结构体也可以构建成结构体数组,结构体指针,其实可以将结构体看成一种变量类型,一种特殊的类,下面就这两种进行说明:
1 view x1[2]={{ 1.1, { 1, 2 } }, { 1.2, { 3, 4 } }};
2 view *x2 ;//或者view *x2=x1;
3 x2 =&x1[0];//x2=x1,x1为一个数组其数组名字就代表地址。
4
5 view x3 = { 1.3, {5,6} };
6 view *x4;//或者view *x4=&x3;
7  x4 =&x3;
8 cout <<x4->a << endl;//结构体指针访问结构体成员用->

共用体的一些注意事项:

其实共用体就是一种能适应多种数据格式的数据类型。共用体可以储存多种数据类型,但是同时只能使用其中的一种。

1 union view
2 {
3 int int_a;
4 double double_b;
5 }x1;
6 x1.int_a=1;
7 x1.double_b=2.2;//当使用double_b时int_a将不复存在

转载于:https://www.cnblogs.com/yskn/p/8931675.html

c++ 数组 结构体相关推荐

  1. 结构体数组(SoA)与数组结构体(AoS)

    1.结构体数组(SoA) /** SoA 结构体数组定义*/ struct InnerArray {float x[LEN];float y[LEN]; }; /** CPU -> SoA 结构 ...

  2. C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例

    C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例 目录 一.简单介绍 二.结构体定义和使用 三. ...

  3. c++如何定义二维数组结构体_原来数组还可以这么玩(宏把数组玩坏了)

    点击上方公众号名称关注,获得更多内容 ✎ 编 者 悟 语 想起青春追寻的昨天,你也是曾经追风的少年. 文 章 导 读 今天给小伙伴们介绍下用宏对数组值进行分类使用的方式,比较大的程序中的寄存器经常会这 ...

  4. c/c++教程 - 1.10 结构体 使用typedef定义struct结构体 结构体数组 结构体指针 结构体嵌套 结构体做函数参数 结构体const

    十二.结构体 (1)结构体定义和使用 基本概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型. 参考视频:https://www.bilibili.com/video/BV1et411b ...

  5. 2020.1.13 C语言学习 结构体+结构体数组+结构体指针

    结构体 结构体的形式 struct 结构体名称 { 结构体成员1; 结构体成员2; - }; 例如: 图书的结构体 struct Book {char title[128];char author[4 ...

  6. esp32c3 nvs存取大数组结构体方法

    typedef struct {uint8_t key;uint8_t FN;uint32_t time;uint32_t maintime;/* data */ } key_type; esp_er ...

  7. 【MATLAB】数据类型 ( 元胞数组 | 单位阵 | 幻方 | 结构体 | 元胞数组值获取 )

    文章目录 一.元胞数组 1.定义元胞数组 2.生成单位阵 3.生成幻方 4.元胞数组元素赋值 5.元胞数组元素赋值 二 二.元胞数组 1.定义结构体 2.小括号获取元胞数组子数组 3.大括号获取元胞数 ...

  8. matlab结构体与元胞,元胞数组与结构体数组

    结构体数组 结构体数组中数据包含在可按名称访问的字段中. 例如,将患者记录存储在一个结构体数组中. patient(1).name = 'John Doe'; patient(1).billing = ...

  9. C语言结构体数组,结构体数组的定义,结构体数组的输出,结构体的应用

    结构体数组 结构体数组的定义: 结构体数组格式:声明变量类型 数组名称[数组长度] //定义一个结构体数组名为a,它里面包含有5个元素,每一个元素都是一个结构体变量 Wor a[5]={}; #inc ...

最新文章

  1. MyBatis之简单了解Plugin
  2. 如何查看经过iOS优化的PNG图片
  3. FLASHBACK DROP TABLE
  4. table.render加入php传值,iView中Table通过render添加一个Input如何双向绑定数据
  5. 12月13日 什么是help_method,session的简单理解, find_by等finder method
  6. php7.2 event扩展php_sockets_le_socket错误解决
  7. MongoDB副本集、分片集的伪分布式部署(保姆级教程)
  8. 一种内存泄露检查和定位的方法
  9. 网络安全系列之四十 在Linux中设置SET位权限
  10. 2017 Material design 第三章第四节《字体与排版》
  11. 三十四、Expandable grid 可扩展的表格
  12. win10 软路由_破费装了台LEDE软路由,测试WAN口能否跑万兆(中篇)
  13. css3 微信聊天小尖角,用CSS制作聊天框小尖角、气泡效果
  14. 【BIEE】15_时间维度建立
  15. 2022-10-24 ClickHouse 源码解析-查询引擎经典理论
  16. 如何从视频中分离音频/提取音频/提取视频
  17. [Neck] 空间金字塔池化【池化策略】(Space Pyramid Pool, SPP)模块和路径聚合网络【增强】(Path Aggregation Network, PANet)的结构
  18. 可信、安全、稳定构建金融科技新局面
  19. 数学建模笔记——评价类模型之熵权法
  20. 51单片机 播放青花瓷(源码)

热门文章

  1. create-react-app 构建的项目使用 mobx (说到底就是为了使用装饰器语法对 babel 做些配置...
  2. Nginx 介绍配置
  3. 0311-操作系统实验0
  4. deLPHI书籍名称
  5. final/override控制
  6. win7的vmware中安装ubuntu 13.04看不到共享目录
  7. [转载]另眼看待变量间多重共线性
  8. java巴特沃斯滤波器编程_巴特沃斯(Butterworth)滤波器 (1)
  9. 实车采集的数据重建场景_SIGGRAPH | 多机器人协同三维场景重建
  10. kali如何制作php字典_Kali Linux安装搜狗输入法