C语言中数组的学习

一.为什么需要数组

为了解决大量同类型数据的存储和使用问题

二.数组的分类

1.一维数组

(1)怎样定义一维数组

为n个变量连续分配存储空间,所有变量数据类型必须相同,所有变量的字节大小必须相同
例子:

int a[5] = {1,2,3,4,5};   完全初始化

int a[5] = {1,2,3};       不完全初始化,为完全初始化的变量自动为零

int a[5];			  	  不初始化,所有元素都是垃圾值
 
int a[5] = {0};           清零 

错误写法:

int a[5];
a[5] = {1,2,3,4,5};       错误!

只有定义数组的同时才可以整体赋值,其他情况下整体赋值都是错的。

2.二维数组

类似于线性代数的矩阵。
例:

int  a[3] [4]

总共有12(3*4)个元素,可以当作3行4列看待,这12个元素的名字依次是:

a[0][0]		a[0][1]		a[0][2]		a[0][3]

a[1][0]		a[1][1]		a[1][2]		a[1][3]

a[2][0]		a[2][1]		a[2][2]		a[2][3]

二维数组整体赋值

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

{1,  2,  3,  4},
{5,  6,  7,  8},
{9, 10, 11, 12}

}

3.多维数组

(1)是否存在多维数组?
答:不存在,因为内存是线性唯一的,n维数组可以当作每一个元素是n-1维数组的唯一数组。

比如:

int a[3][4];

该数组是含有3个元素的一维数组
只不过每个元素都可以再分为4个小元素

int a[3][4][5];

该数组也是含有3个元素的一维数组
只不过每个元素都可以再分为4行5列的二维数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值