C语言-数组

2021-12-10  本文已影响0人  我阿郑

C语言-数组

1 -定义数组:

char arr[5]; 
int arr[5]; 
double arr[5]; 
float arr[5]; 

// 下面的都是正确写法:
int  a[5];   // 整型常量
int  b['A'];  // 字符常量,其实就是65
int  c[3*4];  // 整型常量表达式

[]里面的个数必须是一个固定值,可以是常量(比如6、8)、常量表达式(比如3+4、5*7)。绝对不能使用变量或者变量表达式来表示元素个数,大多数情况下不要省略元素个数(当数组作为函数的形参和数组初始化时除外)

2 - 数组的初始化

// 数组定义时可以不初如化,例如,
char arr[5];

// 数组也可以初始化,例如,
char  arr[5] = {90,91,92,93,94};

// 也可以只初始化一部分元素:
char  arr[5] = {90,91};

// 数组初始化时的赋值方式只能用于数组的定义,定义之后只能一个元素一个元素地赋值
// 下面的写法是错误的:
int a[3];
a[3] = {1, 2, 3}; // 错误
a = {1, 2, 3}; // 错误

要注意的是,数组名代表着整个数组的地址,也就是数组的起始地址

3 - 访问数组

char  arr[5] = {90,91,92,93,94 };
char s1 = arr[0];
char s2 = arr[1];

// 改变数组中元素的值
arr[1] = 89;

4 - 数组作为函数实参

我们知道,数组名代表着整个数组的地址,如果一维数组的名字作为函数实参,传递的是整个数组,即形参数组和实参数组完全等同,是存放在同一存储空间的同一个数组。这样形参数组修改时,实参数组也同时被修改了

二维数组

// 二维数组初始化
char arr[5][3] =
{
    { 91, 92, 93 },  // 每一行以逗号分隔
    { 81, 82, 83 },  // 每一行以逗号分隔
    { 71, 72, 73 },  // 每一行以逗号分隔
    { 61, 62, 63 },  // 每一行以逗号分隔
    { 51, 52, 53 },  // 每一行以逗号分隔
};

// 二维数组的访问
// 访问元素的方法:

arr[0][0]; // 第0行第0列
arr[m][n]; // 第m行第n列

// 注:下标从0开始

一维数组最重要,二维数组或高维数组极少被使用!

上一篇 下一篇

猜你喜欢

热点阅读