C语言_数组

  • 格式:docx
  • 大小:24.14 KB
  • 文档页数:3

1 C语言_数组

-------------------------------------------------------------------------------------------------------

数组是元素的集合,各元素数据按先后顺序存储,数据按照先后顺序连续存放在一起,各元素数据类型相同。 在使用数组前必须先进行定义再使用。一维数组只有一个下标,二维数组有两个下标,多维数组有多个下标。

一维字符数组

定义:类型说明符 数组名 [常量表达式];

例如:unsigned char Name[8];

说明定义了一个无符号字符数组Name,内部有8个元素。

第一个元素表示为Name[0],第8个元素表示为Name[7]。

例:数组连续存放表

char Name[4]; int Name[4];

数组元素 内存地址 数组元素 内存地址

Name[0] 8000 Name[0]

8000

Name[1] 8001 Name[1] 8002

Name[2] 8002 Name[2]

8004

Name[3] 8003 Name[3]

8006

说明:char 数据长度为8位,所有占用一个内存地址。Int 数据长度为16位,所有占用两个内存地址。以此类推其他类型数组占用内存地址情况。

一维数组初始化

1、在定义数组时给数组元素赋初值。

a、全部数组元素赋初值

例如: int Name[3]={1,3,5};

赋值结果:

Name[0] = 1 Name[1] = 3 Name[2] = 5

b、部分数组元素赋初值,其它数组元素自动赋以0值

例如:int Name[3]={1,3 };

赋值结果:

Name[0] = 1 Name[1] = 3 Name[2] = 0

注意:

1)数组元素的值可以是数值型、字符常量或字符串。

2)数组元素的初值必须依次放在一对大括号{ }内,各值之间用逗号隔开。

3)在进行数组的初始化时,{ }中值的个数不能超过数组元素的个数。

文章出至V订阅:单片机C语言基础 2 2、使用代码进行初始化

使用for语句对数组进行初始化

例如:

Main(void)

{

char i;

char Name[8];

for(i=0;i<8:i++)

{

Name[i] = 0xff;

}

}

二维字符数组

定义:类型说明符 数组名 [表达式1][表达式1];

例如:char Name[3][4];

说明定义了一个3行4列的数组,其成员为:

Name[0][0] Name[0][1] Name[0][2] Name[0][3]

Name[1][0] Name[1][1] Name[1][2] Name[1][3]

Name[2][0] Name[2][1] Name[2][2] Name[2][3]

例:数组连续存放表

char Name[2][4]; int Name[2][4];

数组元素 内存地址 数组元素 内存地址

Name[0][0] 8000 Name[0][0] 8000

Name[0][1] 8001 Name[0][1] 8002

Name[0][2] 8002 Name[0][2] 8004

Name[0][3] 8003 Name[0][3] 8006

Name[1][0] 8004 Name[1][0] 8008

Name[1][1] 8005 Name[1][1] 800a

Name[1][2] 8006 Name[1][2] 800c

Name[1][3] 8007 Name[1][3] 800e

说明:char 数据长度为8位,所有占用一个内存地址。Int 数据长度为16位,所有占用两个内存地址。以此类推其他类型数组占用内存地址情况。

3 二维数组初始化

1、在定义数组时给数组元素赋初值。

a、全部二维数组元素分段赋初值

例如: int Name[2][3]={1,3,5},{2,4,6};

b、全部二维数组元素连续赋初值

例如: int Name[2][3]={1,3,5,2,4,6};

两种赋值结果相同:

Name[0][0] = 1 Name[0][1] = 3

Name[0][2] = 5

Name[1][0] = 2 Name[1][1] = 4 Name[1][2] = 6

c、部分二维数组元素赋初值,参考一维数组赋值方式。

2、使用代码进行初始化

使用for语句对数组进行初始化

例如:

Main(void)

{

char i,j;

char Name[3][8];

for(j=0;j<3:j++)

{

for(i=0;i<8:i++)

{

Name[j][i] = 0xff;

}

}

}