C++中数组的基础知识
来源:互联网 发布:国内旅游推荐 知乎 编辑:程序博客网 时间:2024/05/21 00:52
》数组
数组(Array)是由固定数目元素组成的数据结构,同一数组的所有元素的类型都相同。数组元素是通过下标进行访问的。数组可以是一维的,也可以是多维的,许多重要应用的数据结构都是基于数组的。
>一维数组
一维数组是由具有一个下标的数组元素组成的数组,其定义形式:
<数据类型><数组名>[<数组长度>];
<数据类型>是类型说明符,<数组名>是数组的名字,<数组长度>是任一值为正整数的int型常量表达式,用来指定数组中元素的个数,即数组的大小,数组元素的下标是从0到<数组长度>-1。
初始化:与所有基本数据类型相同,数组也可以在定义时初始化。例:
int array[ ]={1,2,3,4};
花括号中的各数据项之间以逗号分隔。当数组声明时没有给出数组的大小,但是有初始化列表时,数组的大小就由列表中元素的个数来确定。如果明确给出了数组的大小,则在初始化列表中给出了多余的元素就是错误的。在定义数组时,可以不必给出所有数组元素的初始值,即在定义时可以部分地初始化数组,如果初始化列表中的元素不够,则剩余的元素将被设定为0.
访问数组元素: <数组名>[<表达式>] 其中<表达式>是非负的int型表达式,称为下标。下标用于指定所要访问的数组中元素的位置。在C++中,[ ]是一个运算符,称为下标元素安抚。数组下标从0开始,长度为n的数组,其下标的范围是0到n-1.在数组定义以后,给数组元素赋值时,必须一个元素一个元素地逐个访问。
赋值语句: array[0]=10; 将10存储到array[0]中,它是数组array中的第一个元素。
注:可以先定义符号常量,然后使用符号常量来定义数组,指定元素个数。但在定义数组之前,必须要确定数组中元素的个数。
>多维数组
二维数组:二维数组是以行和列(即二维)形式排列的固定数目元素的集合,并且组成数组的每个元素的类型都相同,即带有两个下标的数组。
语法:<数据类型><数组名>[<表达式1>][<表达式2>]; 其中,两个表达式的值为正整数的常量表达式,分别用来指定数组中行和列的数目。
初始化:也可以在定义时进行初始化。
注:所有在一行中的元素可以用花括号括起来,并用逗号分隔;对于数字类型数组,如果给定的值不够,则没有指定数值的元素将初始化为0。此时至少应有一个值来初始化二维数组。在将多维数组作为函数的形参时,可以不指定该数组中第一维的大小,但是必须指定该数组中其他维的大小。多维数组只可以作为引用参数传递给函数,并且函数不能返回一个数组类型的返回值。
访问二维数组:<数组名>[<表达式1>][<表达式2>];其中两个表达式为非负整数的表达式。
>string类型
string是一种用户自定义的数据类型,它由C++标准库来支持,而不是C++语言本身的一部分。在使用string数据类型之前,需要在程序中包含头文件string并声明其所在的名字空间std。
注:在C++中字符串由零个或多个字符组成,并且所有字符都由双引号括住。
>字符数组
所有元素都是char类型的数组称为字符数组。目前,使用最广泛的字符集是ASCII和EBCDIC。ASCII字符集中第一个字符是不可打印的空字符(Null Character)。空字符在处理字符数组中起到十分重要的作用,在C++中,空字符(‘\0’)用来作为一个字符串结束的标志。
注:字符数组与字符串之间存在细微的差别。字符串以空字符结尾,即字符串的最后一个字符总是空字符。而字符数组可以不含空字符。
特点:
数组元素跟一般变量一样可以赋值、比较、计算等
数组下标也是从0~N-1(N为数组长度)
字符数组长度可以显式给出,也可以隐式得到
由双引号括起来的字符串常量具有静态字符串数组类型
用字符串对数组初始化时,编译程序以'\0'作为结束这个数组的标志。因此,数组长度至少要比字符串长度多1。
>常用字符串函数
C++提供了一系列字符串操作的函数,这些函数都包含在头文件cstring中。
- Java中数组的基础知识
- C++中数组的基础知识
- c/c++数组与sizeof的基础知识
- c/c++数组与sizeof的基础知识
- C语言数组基础知识
- 【C#】基础知识—数组
- C 数组基础知识分析
- PHP编程中“数组”的基础知识
- PHP编程中数组的基础知识
- C语言中重要基础知识的概述
- C基础知识--指针与数组
- Objective-C中基础知识
- C语言中数组的数组
- 数组的基础知识
- c++数组的基础知识
- 二维数组的基础知识
- java基础知识(六) 数组中copy、排序、查找的应用
- 学ios需要了解的C语言基础知识-6-维数组二维数组啥
- FZU 2250 不可能弹幕结界(单调队列优化dp)
- 戴维南定理和诺顿定理的验证
- 更新Nuget方法
- 如何设置Java JDK的默认编码为UTF-8
- JavaSE 学习参考:Set容器
- C++中数组的基础知识
- 设置Java JDK的默认编码为UTF-8
- 动态规划 14题
- Loadrunner | 录制脚本时出现乱码的解决方式
- Java 征途:行者的地图(推荐好文)
- bzoj 2440 完全平方数 莫比乌斯函数
- VS 中NuGet 尝试还原程序包时出错"*"已拥有为"**"定义的依赖项
- git 入门
- vector和arraylist的异同点.