> 教育经验 > 什么是一维数组介绍

什么是一维数组介绍

什么是一维数组介绍

一维数组,是由数字组成的以单纯的排序结构排列的结构单一的数组,是计算机程序中最基本的数组。二维及多维数组可以看作是一维数组的多次叠加产生的。

在程序中可以使用下标变量,即说明这些变量的整体为数组,数组中的每个变量的数据类型是相同的。

当数组中每个元素都只带有一个下标时,称这样的数组为一维数组。

数组是计算机编程中的重要概念,运用数组可以方便地处理大规模的数据。

一维数组定义

数组的定义格式如下:

类型标识符 数组名

说明:

①数组名的命名规则与变量名的命名规则一致

②常量表达式表示数组元素的个数。可以是常量或符号常量,不能为变量。

例如:

      int a;                     //数组a的定义是合法的      int a;                      //若n为变量,则数组a的定义是非法的

一维数组性质

一维数组引用

通过给出的数组名称和这个元素在数组中的位置编号(即下标),程序可以引用数组中的任意一个元素。

在C++中,一维数组的引用格式为:数组名

例如: int a;

其中,a是一维数组的数组名,该数组有10个元素,依次表示为a a a a a a a a a a。需要注意的是,a不属于这一个数组的空间范围中。当在说明部分定义了一个数组变量后,编译程序会在内存空间中开辟一串连续的存储单元。对于数组而言,程序的执行部分使用的是数组变量而不是数组类型。需要注意的是:在引用时,下标可以是整型变量或整型表达式。如果使用表达式,会先计算表达式以确定下标。程序只能逐个应用数组中的元素而不能一次引用整个数组。如:

int a,b; a=b;                   //这是非法的

数组名不能与其他变量名相同,如:

int a;float a;                              //这是非法的

不能在方括号中用变量来表示元素的个数,如:

int n=5;int a;                                 //这是非法的

但可以是符号常数或常量表达式

int a;                               //这是合法的

一维数组初始化

数组的初始化可以在定义时一并完成。格式如下:

   int a={1,2,3,4,5};

c++语言对数组的初始化赋值还有以下几点规定:

(1)可以只给部分元素赋初值

当{}中值的个数小于元素的个数时,只给前面部分元素赋值,例如:

int a={0,1,2,3,4};

表示只给a~a五个元素赋值,后面的元素自动赋0。

(2)只能给元素逐个赋值,不能给数组整体赋值。

例如给十个元素全部赋1值,只能写成

int a={1,1,1,1,1,1,1,1,1,1};

而不能写成

int a=1;

(3)如给全部元素赋值,则在数组中说明,可以不给出数组元素的个数,例如:

int a={1,2,3,4,5}

可写成

int a={1,2,3,4,5}

一维数组应用

一维数组成员操作函数

以下函数的应用可以简单、快捷地操作数组内的部分或所有变量。使用以下函数时,必须包含头文件或。

memcpy(b,a,sizeof(int)*k):memcpy函数用于将数组a中复制k个元素至数组b中,定义式中的int应根据需要选择合适的数据类型。特别地,当要把全部数据复制到另一数组中时,可以简写为:memcpy(b,a,sizeof(a))。

memset(a,0,sizeof(a)):memset函数的作用是把数组a清零。这个函数的作用可以用for循环实现:

for(int i=1;i<=n;i++)a=0;

表达式中的“0”可以为1,。

一维数组实例

C++语言:输入n个数,要求程序按输入时的逆序把这n个数输出,已知整数为10个。

#include using namespace std;int main(){    int i,a;    for(i=0;i=0;i--)    {        cout<<a;    }    return 0;}

C语言:输入n个数,要求程序按输入时的逆序把这n个数输出,已知整数不超过一百个。

#include int a;int main(){    int a,n = 0;    while(scanf(\"d\",&x)==1)      a=x;                      //相当于a=x;n++;    for(int i = n-1;i>=1;--i)        printf(\"%d \",a;    printf(\"%dn\",a;    return 0;    }