欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C Primer Plus--- Chapter 10---Arrays and Pointers ---1.数组

程序员文章站 2022-03-11 18:30:46
...

C Primer Plus--- Chapter 10---Arrays and Pointers ---1.数组

1. 定义

数组是一系列相同类型的数据组成。

2. 声明

数组声明是就是告诉编译器数组元素的个数以及元素的类型。

3. 初始化

  1. 常规初始化方式:
int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
  1. 特定元素初始化:
int days[12] = {31,28, [4] = 31,30,31, [1] = 29};

数组第一个元素是31,第二个元素(索引值为1)是29(按照前面的顺序本来是28,后面因为特意定义 [1]=29,因此为29),索引值为4,5,6的三个元素分别为31,30,31,其余的均为0。

如果对某一元素初始化不只一次,取最后一次初始化的值。

4. 赋值

注意:
c 不允许将一个数组作为一个整体直接赋给另一个数组。

数组除了在初始化时,不允许使用大括号 { } 赋值。

/* nonvalid array assignment */
#define SIZE 5
int main(void)
{
int oxen[SIZE] = {5,3,2,8}; /* ok here */
int yaks[SIZE];
yaks = oxen; /* not allowed */
yaks[SIZE] = oxen[SIZE]; /* out of range */
yaks[SIZE] = {5,3,2,8}; /* doesn't work */

5. 多维数组

二维数组:

const float rain[5][12] =
{
{4.3,4.3,4.3,3.0,2.0,1.2,0.2,0.2,0.4,2.4,3.5,6.6},
{8.5,8.2,1.2,1.6,2.4,0.0,5.2,0.9,0.3,0.9,1.4,7.3},
{9.1,8.5,6.7,4.3,2.1,0.8,0.2,0.2,1.1,2.3,6.1,8.4},
{7.2,9.9,8.4,3.3,1.2,0.8,0.4,0.0,0.6,1.7,4.3,6.2},
{7.6,5.6,3.8,2.8,3.8,0.2,0.0,0.0,0.0,1.3,2.6,5.2}
};

数组前加上 const 表示数组元素为常量,即不能改变。