c++ 数组 结构体
一.c++复合数据类型:
数组类型的一些注意事项:
- sizeof的用法:
- 当用在数组名上时,例如int a[5];sizeof(a);得到的结果为5*sizeof(int);然而若是用在指向该数组的指针上时,例如int* b=a;sizeof(b);得到的结果为4(其实就是sizeof(int));
- sizeof和strlen的区别:后者是用来测量字符串的长度的,其判断地依据是字符串结束后的'\0'。strlen只是单纯的计算字符串的个数,且就算是用指针也可以得到字符串的个数!
- 数组不能将一个数组直接赋值给另外一个数组。
- 字符串数组。char a[10],当给其用字符串初始化时,将会自动的在其后部添加'\0',且储存在字符串数组中的字符串的一些操作,合并,删减,需要函数strcpy,strcat等等,需加上头文件<cstring>,
- 字符串:字符串的使用必须加上头文件<string>,字符串之间可以直接赋值,string c,b="qq";c=b;类似于这样的,包括相应的字符串的增长可以通过加法实现,其长度可以通过c.size();类方法实现。
- 数组还有一些替代品
vector类:在使用时首先要添加头文件<vector>,声明的格式是vector <typename> a(n);
结构体的一些注意事项(struct):
- 结构体之间可以通过直接赋值的方法传递结构体中的值:
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 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++ 数组 结构体相关推荐
- 结构体数组(SoA)与数组结构体(AoS)
1.结构体数组(SoA) /** SoA 结构体数组定义*/ struct InnerArray {float x[LEN];float y[LEN]; }; /** CPU -> SoA 结构 ...
- C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例
C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例 目录 一.简单介绍 二.结构体定义和使用 三. ...
- c++如何定义二维数组结构体_原来数组还可以这么玩(宏把数组玩坏了)
点击上方公众号名称关注,获得更多内容 ✎ 编 者 悟 语 想起青春追寻的昨天,你也是曾经追风的少年. 文 章 导 读 今天给小伙伴们介绍下用宏对数组值进行分类使用的方式,比较大的程序中的寄存器经常会这 ...
- c/c++教程 - 1.10 结构体 使用typedef定义struct结构体 结构体数组 结构体指针 结构体嵌套 结构体做函数参数 结构体const
十二.结构体 (1)结构体定义和使用 基本概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型. 参考视频:https://www.bilibili.com/video/BV1et411b ...
- 2020.1.13 C语言学习 结构体+结构体数组+结构体指针
结构体 结构体的形式 struct 结构体名称 { 结构体成员1; 结构体成员2; - }; 例如: 图书的结构体 struct Book {char title[128];char author[4 ...
- esp32c3 nvs存取大数组结构体方法
typedef struct {uint8_t key;uint8_t FN;uint32_t time;uint32_t maintime;/* data */ } key_type; esp_er ...
- 【MATLAB】数据类型 ( 元胞数组 | 单位阵 | 幻方 | 结构体 | 元胞数组值获取 )
文章目录 一.元胞数组 1.定义元胞数组 2.生成单位阵 3.生成幻方 4.元胞数组元素赋值 5.元胞数组元素赋值 二 二.元胞数组 1.定义结构体 2.小括号获取元胞数组子数组 3.大括号获取元胞数 ...
- matlab结构体与元胞,元胞数组与结构体数组
结构体数组 结构体数组中数据包含在可按名称访问的字段中. 例如,将患者记录存储在一个结构体数组中. patient(1).name = 'John Doe'; patient(1).billing = ...
- C语言结构体数组,结构体数组的定义,结构体数组的输出,结构体的应用
结构体数组 结构体数组的定义: 结构体数组格式:声明变量类型 数组名称[数组长度] //定义一个结构体数组名为a,它里面包含有5个元素,每一个元素都是一个结构体变量 Wor a[5]={}; #inc ...
最新文章
- MyBatis之简单了解Plugin
- 如何查看经过iOS优化的PNG图片
- FLASHBACK DROP TABLE
- table.render加入php传值,iView中Table通过render添加一个Input如何双向绑定数据
- 12月13日 什么是help_method,session的简单理解, find_by等finder method
- php7.2 event扩展php_sockets_le_socket错误解决
- MongoDB副本集、分片集的伪分布式部署(保姆级教程)
- 一种内存泄露检查和定位的方法
- 网络安全系列之四十 在Linux中设置SET位权限
- 2017 Material design 第三章第四节《字体与排版》
- 三十四、Expandable grid 可扩展的表格
- win10 软路由_破费装了台LEDE软路由,测试WAN口能否跑万兆(中篇)
- css3 微信聊天小尖角,用CSS制作聊天框小尖角、气泡效果
- 【BIEE】15_时间维度建立
- 2022-10-24 ClickHouse 源码解析-查询引擎经典理论
- 如何从视频中分离音频/提取音频/提取视频
- [Neck] 空间金字塔池化【池化策略】(Space Pyramid Pool, SPP)模块和路径聚合网络【增强】(Path Aggregation Network, PANet)的结构
- 可信、安全、稳定构建金融科技新局面
- 数学建模笔记——评价类模型之熵权法
- 51单片机 播放青花瓷(源码)
热门文章
- create-react-app 构建的项目使用 mobx (说到底就是为了使用装饰器语法对 babel 做些配置...
- Nginx 介绍配置
- 0311-操作系统实验0
- deLPHI书籍名称
- final/override控制
- win7的vmware中安装ubuntu 13.04看不到共享目录
- [转载]另眼看待变量间多重共线性
- java巴特沃斯滤波器编程_巴特沃斯(Butterworth)滤波器 (1)
- 实车采集的数据重建场景_SIGGRAPH | 多机器人协同三维场景重建
- kali如何制作php字典_Kali Linux安装搜狗输入法