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):
- 结构体之间可以通过直接赋值的方法传递结构体中的值:
struct view
{
float a;
int b[];
};
view x1 = { 1.0, { 1.0, 2.0 } };//结构体对象初始化个成员之间用,连接
view x2 = x1;//即便是数组也可以赋值
- 结构体也可以构建成结构体数组,结构体指针,其实可以将结构体看成一种变量类型,一种特殊的类,下面就这两种进行说明:
view x1[]={{ 1.1, { , } }, { 1.2, { , } }};
view *x2 ;//或者view *x2=x1;
x2 =&x1[];//x2=x1,x1为一个数组其数组名字就代表地址。
view x3 = { 1.3, {,} };
view *x4;//或者view *x4=&x3;
x4 =&x3;
cout <<x4->a << endl;//结构体指针访问结构体成员用->
共用体的一些注意事项:
其实共用体就是一种能适应多种数据格式的数据类型。共用体可以储存多种数据类型,但是同时只能使用其中的一种。
union view
{
int int_a;
double double_b;
}x1;
x1.int_a=;
x1.double_b=2.2;//当使用double_b时int_a将不复存在
c++ 数组 结构体的更多相关文章
- C语言基础知识点整理(函数/变量/常量/指针/数组/结构体)
函数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
- C数组&结构体&联合体快速初始化
背景 C89标准规定初始化语句的元素以固定顺序出现,该顺序即待初始化数组或结构体元素的定义顺序. C99标准新增指定初始化(Designated Initializer),即可按照任意顺序对数组某些元 ...
- C89,C99: C数组&结构体&联合体快速初始化
1. 背景 C89标准规定初始化语句的元素以固定顺序出现,该顺序即待初始化数组或结构体元素的定义顺序. C99标准新增指定初始化(Designated Initializer),即可按照任意顺序对数组 ...
- Leetcode LRU缓存,数组+结构体实现
一.算法思路 LRUCache类有以下函数和变量: LRUCache(int capacity): capacity是当前对象能够存储的键值对(key,value)最大个数. int get(int ...
- 【C++】结构体/结构体数组/结构体指针/结构体嵌套/函数参数/const
一.结构体声明 struct Student { //成员列表 string name; int age; int score; }; //s3;定义时直接声明 int main() { struct ...
- C# Struct结构体里数组长度的指定
typedef struct Point{ unsigned short x; unsigned short y; }mPoint;//点坐标 typedef struct Line{ mPoint ...
- matlab学习笔记12_2创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段
一起来学matlab-matlab学习笔记12 12_2 结构体 创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段 觉得有用的话 ...
- C语言、结构体 定义
C语言允许用户自己建立由 不同类型数据组成的组合型数据结构 成为结构体. struct Student { int num; //学号 ]; //姓名为字符串 char sex; //性别为字符型 i ...
- C:结构体
结构体 构造类型:就是有基本的类型组成的 1.结构体 结构体是一种自定义的数据类型 和 int float 是一样的都可以定义变量 数组 只能存放一种类型的容器 结构体 可以存放多种数据类型 ...
随机推荐
- FAQ_2
FAQ-2 1.LoadRunner超时错误: 在录制Web服务器端,如果超过120秒服务器协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同. 错误现象1:Action.c(1 ...
- FAQ_1
FAQ LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Int ...
- 【转】Apache HBase 问题排查思路
[From]https://www.itcodemonkey.com/article/9426.html HBCK - HBCK检查什么? (1)HBase Region一致性 集群中所有region ...
- Linux中如何批量删除目录下文件后缀
1. rename rename分为perl版本和C版本,以下截图是C版本效果: perl版本:rename 's/.bak//' *.bak 2. for循环+awk 3. for循环+cut 4. ...
- 【ABAP系列】【第五篇】SAP ABAP7.50 之用户接口
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列][第五篇]SAP ABAP7.5 ...
- WebHook钩子
webhooks整理码云创建远程仓库生成公钥 服务器配置webhooks #!/bin/bashecho ""#输出当前时间date --date='0 days ago' &qu ...
- idea关闭自动更新
如何关闭idea的自动更新? File-Setting-Appearance&Beha-System Setting-Updates 取消勾选Automatically check updat ...
- Django与Cookie
Cookie Cookie的由来 大家都知道HTTP协议是无状态的.无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也 ...
- socket之UDP协议,并发编程介绍,操作系统发展史
socket之UDP协议 1.UDP协议 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection 参考 ...
- 【AMAD】tenacity -- Python中一个专门用来retry的库
动机 简介 用法 基本用法 何时停止 尝试间的等待 何时retry 其它 热度分析 源码分析 个人评分 动机 很多时候,我们都喜欢为代码加入retry功能.比如oauth验证,有时候网络不太灵,我们希 ...