C语言中为什么要使用数组?详细图解数组的使用

唉,有这么多不同主题的书。在哪里才能找到有关中国音乐的书呢?数组是可以在内存中连续存储多个元素的结构数组中的所有元素必须属于相同的数据类型1.在

C语言中为什么要使用数组?详细图解数组的使用

唉,有这么多不同主题的书。在哪里才能找到有关中国音乐的书呢?

C语言中为什么要使用数组?详细图解数组的使用

数组是可以在内存中连续存储多个元素的结构

数组中的所有元素必须属于相同的数据类型

C语言中为什么要使用数组?详细图解数组的使用

1.在计算机内存中,同一数组的所有元素按下标顺序依次存放在相邻的存储单元中,因此数组占据的内存空间大小可由数组长度和数组类型计算出来

2.数组名是数组的唯一标识符

3.数组元素用数组名和元素下标表示

C语言中为什么要使用数组?详细图解数组的使用

一维数组的声明:

C语言中为什么要使用数组?详细图解数组的使用

一维数组的初始化:

int emp_code[5] = {1299,1499,1699,1899,2099};

C语言中为什么要使用数组?详细图解数组的使用

其他的初始化情况:

int arr[10] = {10,9,8,7,6,5,4,3,2,1,0}; //错误!越界了

int arr[10] = {9,8,7,5}; //正确,后面的6个元素初始化0

int arr[] = {9,8,7}; //正确:元素个数为 3

int arr[]={}; //错误,到底是几个元素?

一维数组的引用:

数组元素的表示方法是:

数组名称[下标]

“下标”是一个整数,代表元素的位置。

C语言的数组元素的下标是从0开始的,a[0]是数组a的第1个元素,a[1]是第2个元素,……,a[i-1]是第i个元素。

还可这样表示数组中的元素:*(a+i)

float price[4];

printf(“Enter prices of 4 books\n”);

for (i = 0;i <= 3; i++)

{

scanf(“%f”,&price[i]);

}

一维数组示例:

# include <stdio.h>

int main()

{

int i;

float item_rate[5],total=0;

printf(“\n 请输入商品价格:”);

for(i=0;i<5;i++)

{

scanf(“%f”,&item_rate[i]);

total=total+item_rate[i];

}

printf(“\n 所有商品的合计费用:%f\n “,total);

}

数组类型:

C语言中为什么要使用数组?详细图解数组的使用

C语言中为什么要使用数组?详细图解数组的使用

二维数组的存储结构:

C语言中,二维数组是按行存储的

二维数组的声明:

类型说明 数组名称[][列数]

例:int a[][3];

二位数组的定义:

类型说明 数组名称[行数][列数]

例: float a[3][4];

行数、列数都是整型常量或常量表达式

对于有m行n列的二维数组a,其行下标的取值范围是0~m-1,列下标的取值范围是0~n-1

二维数组的初始化:

二维数组的初始化:

1、按元素存储顺序赋初值

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

int a[2][3]={1, 2, 3};

2、按行赋初值

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

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

3、省略了的行数说明

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

int b[][3]={1, 2, 3, 4, 5, 6, 7, 8, 9};

int c[][3]={{1, 2}, {3}};

二维数组的引用:

数组元素的表示方法是:

数组名称[行][列]

对于m行n列的二维数组,a[0][0] 是数组的第一个元

素,a[m-1][n-1] 是最后一个元素

a表示第0行首地址,a+i表示第i行首地址

*(a+i),a[i],&a[i][0]表示第i行第0个元素地址

*(a+i)+j,a[i]+j,&a[i][j]表示第i行第j个元素地址

*(*(a+i)+j),*(a[i]+j),a[i][j]表示第i行第j个元素

如何理解二维数组?

如有int a[2][2]

C语言中为什么要使用数组?详细图解数组的使用

总结:

数组是可以在内存中连续存储多个元素的结构数组中的所有元素必须属于相同的数据类型

数组必须先声明,然后才能使用。声明一个数组只是为该数组留出内存空间,并不会为其赋任何值

数组的元素通过数组下标访问

一维数组可用一个循环动态初始化,而二维数组可用嵌套循环动态初始化

二维数组可以看作是由一维数组的嵌套而构成的

数组的下标都是从0开始,所以下标最大只到size-1

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/40582.html

(0)
上一篇 2024-04-16 11:00
下一篇 2024-04-18 16:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信