C++程序设计基础第四章:数组

C++程序设计基础第四章:数组

4.1一维数组

   在计算机中,一个数组在内存中占有一片连续的存储区域,C++的数组名就是这块存储空间的地址。数组的每个元素都用下标变量标识。数组要求先定义后使用。

4.1.1一维数组定义与初始化

   一维数组的说明格式:

         类型   标识符[表达式];

   其中,标识符是用户自定义的数组名;[]是数组类型符,用于说明表示符的类型;类型说明数组元素的类型,可以是系统提供的基本类型,也可以是用户自定义的数据类型;表达式为整型表达式,用于指定数组元素的个数,即数组长度。一维数组只有一个下标表达式,对应于一个数学向量。

   数组:具有一定顺序关系的若干相同类型数据的集合,

为构造数据类型之一。

   数组名:为该数据集合起的一个名字。

   数组元素:组成数组的数据。属同一数据类型,用数组

名和下标确定。即编译程序要确定数组的大小,所以类型符必须已经定义,下标表达式也必须有确定的值,不能为变量名,也不能为浮点型表达式。

例如:        long int   array1[3.2]   //不对,下标表达式不能为浮点数;

                    double    array2[max]   //不对,下标表达式不能为变量。

 给定常数的个数不能超过数组定义的长度,如果给定常数的个数不足,则系统对其余元素初始化为0。

 只有定义静态数组,C++才会自动把各元素值初始化为0。

 在for循环语句中,表达式sizeof(c)/sizeof(int)用于计算数组元素的个数。

   (1)初始化是指在定义数组时,为数组元素赋初值

(在编译阶段使之得到初值)

   初始化方式

   说明:

   数组不初始化,其元素值为随机数

   可以只给部分数组元素赋初值,其余的自动赋以0

   当全部数组元素赋初值时,可不指定数组长度

   inta[5]={1,2,3,4,5};

 等价于:  a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;

   如inta[5]={6,2,3};

   等价于:a[0]=6;a[1]=2;a[2]=3;a[3]=0;a[4]=0;

   inta[]={1,2,3,4,5,6};

   编译系统根据初值个数确定数组长。

   例如:用简单选择法对十个数排序

4.1.2一维数组访问

 C++提供两种方式访问数组:下标方式和间址方式。

 下标方式:数组名[表达式]

 C++不会对数组元素的下标表达式作界限检查,操作出界时可能会引起意想不到的错误,这值得程序员注意。

   例2:用冒泡法对n个数排序(由小到大)

   

   总结:用数组名做函数参数的说明:

   1)如果函数实参是数组名,形参也应为数组名,形参不能声

明为普通变量。实参数组与形参数组类型应一致,如不一致,

结果将出错。

(2)数组名代表数组首元素的地址,并不代表数组中的全部

元素。

(3)用数组名作函数实参时,不是把实参数组的值传递给形参,

而只是将实参数组首元素的地址传递给形参。在调用函数时,

将实参数组首元素的地址传递给形参数组名。这样,实参数

组和形参数组就共占同一段内存单元。改变形参数组元素的

值将同时改变实参数组元素的值。

(4)用变量作函数参数时,只能将实参变量的值传给形参变量,

在调用函数过程中如果改变了形参的值,对实参没有影响,

即实参的值不因形参的值改变而改变。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值