已更新!c++第五章(一维数组,二维数组的定义,引用和初始化的注意事项和用法详解,数组的遍历以及数组作为函数参数的例子等等)

 c++知识点合集已经完成欢迎前往主页查看,点点赞点点关注不迷路哦

点我进入c++第一章知识点合集

MYSQL第一章节DDL数据定义语言的操作----点我进入

MYSQL第二章节DDL-数据库操作语言 DQL-数据查询语言----点我进入

MYSQL-第三章节DCL-管理用户,控制权限----点我进入

MYSQL-第四章节常用函数说明----点我进入

目录

                                 

怎样定义一个一维数组

一维数组的初始化:

对数组全部元素赋值,但不指定长度

例子:当下表为符号常量的时候

一维数组的引用

一维数组元素的引用格式

例子:通过循环来遍历每一个数组元素

一维数组的遍历

一维数组的遍历例子:

数组作为函数参数例子

定义一个二维数组

二维数组的初始化/** 定义数组 */

用“初始化列表”对二维数组初始化

字符数组的初始化


第五章知识点合集


怎样定义一个一维数组


1.一维数组的定义格式为:
类型说明符 数组名[常量表达式;

例子: int aray[5];

它表示定义了一个整形数组,数组名为a,有10个元素的容量大小。

注意

在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。

常量表达式中可以包括常量和符号常量,但不能包含变量。

上述代码定义了一个数组,其中,int是数组的类型,aray是数组的名称,方括号中的5是数组的长度。完成数组的定义后,只是对数组中的元素开辟了一块内存空间。这时,如果想使用数组操作数据,还需要对数组进行初始化。数组初始化的常见的方式有3种,具体如下

一维数组的初始化:


1.直接对数组中的所有元素赋值

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

2.只对数组中的一部分元素赋值


int i[5]={1,2,3}

在上述代码中,定义了一个int类型的数组,但在初始化时,只对数组中的前3个元素进行了赋值,其他元素的值会被默认设置为0

对数组全部元素赋值,但不指定长度


int i[ ]={1,2,3,4}

在上述代码中,数组i中的元素有4个,系统会根据给定初始化元素的个数定义数组的长度,因此,数组i的长度为4。

注意

(1)数组的下标是用方括号括起来的,而不是圆括号;

(2)数组名的命名同变量名的命名规则相同;

(3)数组定义中,常量表达式的值可以是符号常量,如下面的定义就是合法的。

例子:当下表为符号常量的时候

int a[N];        //假设预编译命令#define N 4,下标是符号常量

一维数组的引用


在程序中,经常需要访问数组中的一些元素,这时可以通过数组名和下标来引用数组中,的元素。

一维数组元素的引用格式

数组名 [下标];

在上述方式中,下标指的是数组元素的位置,数组元素的下标是从0开始的。例如,引用数组X的第3个元素的方式为X[2]。

例子:通过循环来遍历每一个数组元素
#include<stdio.h>

void main(int argc, char *argv[]){

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

int i;

for (i = 0; i < 5; i++)  / / 通过循环使数组下标值增加从而遍历每一个数组元素

{

printf("%d\n", 2 * x[i]);

}

}

注意

数组的下标都有一个范围,即“0~[数组长度-1]”,假设数组的长度为6,其下标范

围为0~5。当访问数组中的元素时,下标不能超出这个范围,否则程序会报错。

一维数组的遍历


在操作数组时,经常需要依次访问数组中的每个元素,这种操作称作数组的遍

历。接下来使用for循环依次遍历数组中的元素

一维数组的遍历例子:

//求数组元素中的最大值:

#include<stdio.h>

int main(int argc, char *argv[]){

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

    int Max = x[0];           //定义一个最大值Max用来存放最大的数字

    int i = 0;

    for (i = 0; i < 5; i++) {    //通过循环来遍历每一个数组元素

  if (x[i] > Max) {

  Max = x[i];              //将遍历比较完的数组的最大值赋值给Max

      }

    }

    printf("max:%d\n", Max);

    return 0;

}
数组作为函数参数例子
#include <stdio.h>

void printArray(int arr[], int size) {
    for(int i=0; i<size; i++) {
        printf("%d ", arr[i]);
    }
}

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    printArray(arr, 5);
    return 0;
}

数组中的元素当作函数参数,即把数组中的参数传入函数中

例子:

Void temp(int arrvalue)

{

Printf(“%d\n”,arrvalue);

}

Int main( )

{

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

temp(arr[i]);

}

定义一个二维数组


 定义类型:类型名 数组名[ 行表达式 ][ 列表达式];行与列用常量表达式。


二维数组的初始化
/** 定义数组 */

int main()

{

int       ar[3][4];   // 3 行 4列 未初始化

char     br[3][4];

double  cr[3][4];

return 0;

}

int a[3][4];      //定义a为3×4的二维数组

a[3][4]=3;      //不存在a[3][4]元素

数组a可用的“行下标”的范围为0~2,“列下标”的范围为0~3

用“初始化列表”对二维数组初始化
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

将所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值。

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

可以对部分元素赋初值。(例如)

int a[3][4]={{1},{5},{9}}; ① 

int a[3][4]={{1},{0,6},{0,0,11}}; ②

int a[3][4]={{1},{5,6}}; ③

int a[3][4]={{1},{},{9}}; ④

0 0 0     
5 0 0 0

9 0 0 0

1 0 0 0

0 6 0 0

0 0 11 0

1 0 0 0

5 6 0 0

0 0 0 0

1 0 0 0

0 0 0 0

9 0 0 0

如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第1维的长度可以不指定,但第2维的长度不能省。

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

以上两个数组元素相同,在定义时也可以只对部分元素赋初值而省略第1维的长度,但应分行赋初值。

int a[ ][4]={{0,0,3},{},{0,10}};

字符数组的初始化


例子:

char c[10]={′I′,′ ′ ,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′};  //把10个字符依次赋给c[0]~c[9]这10个元素

如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。

例子:

char c[]={′I′,′ ′,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′}; //数组c的长度自动定为10

也可以定义和初始化一个二维字符数组。

char diamond[5][5]={{′ ′,′ ′,′*′},{′ ′,′*′,′ ′,′*′},{′*′,′ ′,′ ′,′ ′,′*′},{′ ′,′*′,′ ′,′*′},{′ ′,′ ′,′*′}};

  • 21
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久 泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值