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 是一样的都可以定义变量 数组 只能存放一种类型的容器 结构体 可以存放多种数据类型 ...
随机推荐
- 史上最全SVN 教程
以下博文引用<https://blog.csdn.net/u013067756/article/details/73302758>,再此仅供学习和参考. Svn是什么? SVN(全称Sub ...
- 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_3 配置解决中文乱码的过滤器
输入中文 中文后台接收到 全部乱码 springMvc提供了过滤器 配置过滤器 characterEncodingFilter是首字母小写当做起的名称.当然这里也可以任意起名字.为了对应所以修改类名首 ...
- SSM详细整合
SSM(Spring+Spring MVC+MyBatis) 1 简介 SSM 包含三大框架: Spring MVC (web level),采取 MVC 架构,意图取代麻烦的 Servlet 写法, ...
- 在Excel工作表单元格中引用当前工作表名称
在Excel工作表单元格中引用当前工作表名称 有多份Excel表格表头标题都为"××学校第1次拉练考试××班成绩表",由于工作表结构都是一样的,所以我每次都是复制工作表然后编辑修改 ...
- Python的Multiprocessing多进程实例
最近在拜读RBG大神的faster-rcnn源码时发现他用了多进程去分阶段处理神经网络,原因如下: # ------------------------------------------------ ...
- java:WebService
1.WebService就是应用之间的远程调用,可以跨语言调用,为甚么可以跨语言调用,是因为其实依赖与xml语言,xml语言依赖http协议,http协议底层也是socket.
- 4-2 编辑器之神--vim
vim vi:Visual editor文本编辑器 文本:ascii,Unicode vim:VIsual editor iMproved 官网:www.vim.org 帮助网站:Vimhelp.or ...
- Centos6.4安装配置mysql
大数据开发需要读取关系型数据库内的数据,学习过程中主要使用mysql进行学习,以下记录mysql的安装与配置过程. 1.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司 ...
- 【CSP模拟】小凯的疑惑(DP)
首先,这道题正解的思路是从subtask2而得来的,所以先讲一下subtask2的做法. 因为保证答案不超过long long,所以直接求最大权独立集即可:dp[u][0]表示u点一定不能取的答案,d ...
- SVN服务器搭建与配置管理
1.下载和搭建SVN服务器 现在Subversion已经迁移到Apache网站上了,下载地址:http://subversion.apache.org/packages.html,这是二进制文件包的下 ...