吴裕雄--天生自然C++语言学习笔记:C++ 数组
C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[]、numbers[]、...、numbers[] 来代表一个个单独的变量。数组中的特定元素可以通过索引访问。
所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。
在 C++ 中要声明一个数组,需要指定元素的类型和元素的数量,如下所示:
type arrayName [ arraySize ];
这叫做一维数组。arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C++ 数据类型。例如,要声明一个类型为 double 的包含 个元素的数组 balance,声明语句如下:
double balance[];
现在 balance 是一个可用的数组,可以容纳 个类型为 double 的数字。
初始化数组
在 C++ 中,可以逐个初始化数组,也可以使用一个初始化语句,如下所示:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。
如果省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
将创建一个数组,它与前一个实例中所创建的数组是完全相同的。下面是一个为数组中某个元素赋值的实例:
balance[] = 50.0;

数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。例如:
double salary = balance[];
上面的语句将把数组中第 个元素的值赋给 salary 变量。下面的实例使用了上述的三个概念,即,声明数组、数组赋值、访问数组:
#include <iostream>
using namespace std; #include <iomanip>
using std::setw; int main ()
{
int n[ ]; // n 是一个包含 10 个整数的数组 // 初始化数组元素
for ( int i = ; i < ; i++ )
{
n[ i ] = i + ; // 设置元素 i 为 i + 100
}
cout << "Element" << setw( ) << "Value" << endl; // 输出数组中每个元素的值
for ( int j = ; j < ; j++ )
{
cout << setw( )<< j << setw( ) << n[ j ] << endl;
} return ;
}
上面的程序使用了 setw() 函数来格式化输出。当上面的代码被编译和执行时,它会产生下列结果:
Element Value
下面列出了 C++ 程序员必须清楚的一些与数组相关的重要概念:
多维数组 C++ 支持多维数组。多维数组最简单的形式是二维数组。
指向数组的指针 您可以通过指定不带索引的数组名称来生成一个指向数组中第一个元素的指针。
传递数组给函数 您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。
从函数返回数组 C++ 允许从函数返回数组。
吴裕雄--天生自然C++语言学习笔记:C++ 数组的更多相关文章
- 吴裕雄--天生自然C++语言学习笔记:C++ 标准库
		
C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的.独立的.不属于任何类的函数组成的.函数库继承自 C 语言. 面向对象类库: 这个库是类及其相关函数的集合. C++ 标准库包含了所有的 ...
 - 吴裕雄--天生自然C++语言学习笔记:C++ 动态内存
		
栈:在函数内部声明的所有变量都将占用栈内存. 堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存. 可以使用特殊的运算符为给定类型的变量在运行时分配堆内的内存,这会返回所分配的空间地址.这种运 ...
 - 吴裕雄--天生自然C++语言学习笔记:C++ 类 & 对象
		
C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计.类是 C++ 的核心特性,通常被称为用户定义的类型. 类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法.类中的 ...
 - 吴裕雄--天生自然C++语言学习笔记:C++ 日期 & 时间
		
C++ 标准库没有提供所谓的日期类型.C++ 继承了 C 语言用于日期和时间操作的结构和函数.为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件. 有四 ...
 - 吴裕雄--天生自然C++语言学习笔记:C++ 字符串
		
C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持.字符串实际上是使用 null 字符 ...
 - 吴裕雄--天生自然C++语言学习笔记:C++ 基本语法
		
C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互. 对象 - 对象具有状态和行为.例如:一只狗的状态 - 颜色.名称.品种,行为 - 摇动.叫唤.吃.对象是类的实例. 类 - 类可 ...
 - 吴裕雄--天生自然C++语言学习笔记:C++简介
		
C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 年在贝尔实验室开始设计开发的.C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言.C++ 可运行于多种平台上,如 ...
 - 吴裕雄--天生自然C++语言学习笔记:C++ 实例
		
C++ 实例 - 输出 "Hello, World!" #include <iostream> using namespace std; int main() { co ...
 - 吴裕雄--天生自然C++语言学习笔记:C++ STL 教程
		
C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量.链表.队列.栈. C++ 标准模板库的核心包括以 ...
 - 吴裕雄--天生自然C++语言学习笔记:C++ Web 编程
		
什么是 CGI? 公共网关接口(CGI),是一套标准,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的. CGI 规范目前是由 NCSA 维护的,NCSA 定义 CGI 如下: 公共网关接 ...
 
随机推荐
- CentOS7 安装PHP7的swoole扩展:
			
一.绪 Swoole简介 PHP异步网络通信引擎 最终编译为so文件作为PHP的扩展 准备工作 Linux环境 PHP7 swoole2.1 redis 源码安装PHP7 源码安装swoole htt ...
 - java、mysql、oracle、pgsql数据类型对应关系
			
看不清 请 Ctrl+鼠标滚轮 放大页面
 - 仿有道词典App开发
			
最近在学习HCoder提供的仿有道词典App项目,该项目采用MUI为前端框架,服务端采用PHP,底层采用了H5+.
 - Linux开机流程及运行级别
			
启动流程: 没有运行程序的硬件除了会电人,没有别的用处.那么计算机是如何识别软件并执行的呢?下面介绍操作系统的开机启动流程: BIOS:开机时主动执行的第一个程序,会识别存储设备. MBR:第一个可开 ...
 - centos搭建单节点hadoop
			
由于本地机器资源有限,搭建单节点hadoop供开发.测试. 1.安装java mkdir /usr/local/java cd /usr/local/java tar zxvf jdk-8u181-l ...
 - ajax请求QQ音乐
			
搜索歌曲 function go() { var val = document.getElementById("name").value; ...
 - Django创建完全独立的APP
			
我们之前已经完成了项目的结构搭建,但是,在Django当中,我们强调的一个重要概念是app,比如Django自带的admin就是一个成功的app典范,那么我们应该如果整理自己的项目结构,才能让我们的a ...
 - 判断ES数据是否更新成功
			
参考:https://stackoverflow.com/questions/38928991/how-to-detect-if-a-document-update-in-elasticsearch- ...
 - HDU1880 魔咒词典
			
题目大意:对应的输入多行,每行两个字符串,两个字符串互相映射.接下来询问的时候,如果这个字符串出现过,输出其对应的字符串. 分析:二重哈希来判断字符串是否存在,输出其对应的字符串就行.二重哈希的入门题 ...
 - LeetCode242 有效的字母异位词(Java字符数组排序&自定义排序记录)
			
题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram& ...