本章我们将讨论数组,字符串和指针。这三者看起来是相互独立的,其实不然。在C++中,在C++中它们是相关关联的。对其中一个得了解会帮助我们对另外两个的认识。
数组就是一组有着相同类型的变量的集合,它们共有一个名称。数组可以使一维的或者是多维的,但一维数组是最常用的。数组提供了一种创建一组相关变量的便捷方式。
最常用的数组可能就是字符数组了,因为我们可以用它来存储字符串。C++语言中没有内置的字符串类型。因此,字符串是用过使用字符数组来实现的。这种字符串的实现方式比起语言自身明确定义字符串类型的方式显得更加自由和灵活。
指针是一种取值为内存地址的对象。通常,指针被用来访问另外一个对象的值,而另外的那个对象往往就是一个数组。实际上,指针和数组直接的联系比我们想象的还要紧密。
:一维数组
一维数组就是一组相关的变量的列表。这种列表在编程中会经常用到。例如,我们可以使用一维数组来存储网络上被激活的用户的账号;可以使用数组来存储一个棒球队的击球得分率。当我们需要计算一组数值的平均值的时候,通常也是使用数组来存储这些数值。数组是现代编程的基础。
声明一个一维数组的通用形式如下:
类型 名称[大小];
其中的类型表示数组的基本类型。数组的基本类型决定了构成数组的每个元素的类型。大小指明了数组中可以存储的元素的数量。例如,下面的语句声明了一个名称为sample的可以存储10个整型数的数组:
int sample[10];
我们可以通过索引来访问数组中单独的一个元素。索引描述了一个元素在数组中的位置。在C++中,所有数组的第一个元素的索引都是0。在前面的例子中,sample数组有10个元素,那么索引的取值就是0到9。我们就是通过这种索引的方式来访问数组中的元素的。书写的方式为:我们在数组名称后面的方括号中写上要访问元素的索引值。所以,数组中的第一个元素可以表示为sample[0],最后一个元素可以表示为sample[9]。例如,下面的程序为数组sample装载数值0到9。
#include <iostream>
using namespace std;
int main()
{
int sample[10]; //数组可以存储个元素
int t;
//为数组装载数据
for ( t = 0; t < 10; ++t)
sample[t]=t;
//输出数组的值
for( t= 0; t < 10; ++t)
cout << "This is sample[" << t << "]" << sample[t] << "\n";
return 0;
}
程序的输出如下:
This is sample[0]0
This is sample[1]1
This is sample[2]2
This is sample[3]3
This is sample[4]4
This is sample[5]5
This is sample[6]6
This is sample[7]7
This is sample[8]8
This is sample[9]9
在C++中,所有数组都是有连续的内存空间构成。(也就说,所有数组中的元素在内存位置上是紧密相连的。)其中最低的地址对应的就是第一个元素,最高的地址对应的就是最后一个元素。例如,下面的代码段运行后:
int num[5];
int i;
for ( i = 0; i < 5; i++) nums[i]=i;
数组nums的存储形式如下:
num[0] num[1] num[2] num[3] num[4]
0 1 2 3 4
数组之所以在编程中会被经常用到就是因为它允许我们方便地对一组相关的变量进行处理。下面的示例程序中,我们创建了一个含有10个元素的数组,并给每个元素赋值。程序然后计算这些数值的平均值,找出其中的最大值和最小值。
/*
计算一组数值的平均值;找出其中的最大值和最小值
*/
#include <iostream>
using namespace std;
int main()
{
int i,avg, min_val,max_val;
int nums[10];
nums[0]=10;
nums[1]=18;
nums[2]=75;
nums[3]=0;
nums[4]=1;
nums[5]=56;
C 初学者入门指南第四篇 来自淘豆网www.taodocs.com转载请标明出处.