您的位置:首页 > 其它

数组的用法

2015-09-25 12:45 197 查看
1、为什么需要数组

为了解决保存大量同类型的数据 存储和使用;为了模拟现实世界

2、数组的分类

一维数组

怎样定义一维数组

为n个变量连续分配存储空间

所有的变量的数据类型必须相同

所有变量所占的字节大小必须相等

一维数组名不代表数组中所有的元素

一维数组名代表数组中第一个元素的地址

有关数组的操作:

初始化

完全初始化

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

不完全初始化 未被初始化的元素自动为零

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

不初始化,所有的元素都是垃圾值

int a[5]

清零: int a[5] = {0}

错误写法:int a[5];

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

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

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

int b[5]

如果把a数组中的值全部复制给b数组

错误写法:b = a;

正确写法: for(i = 0;i<5;++i)

b[i] = a[i];

赋值

排序

求最大/小值

倒置

查找

二维数组

int a[3][4]总共十二个元素 当做三行四列对待 这十二个元素的名字依次是

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]

初始化

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}

}

输出二维数组内容

不存在多维数组:

因为内存是线性一维的

n维数组可以当做每个元素是n-1维的一维数组

如:

int a[3][4] 该数组是含有三个元素的一维数组 只不过每个元素都可以在分成四个小元素

int a[3][4][5] 该数组是含有三个元素的一维数组 只不过每个元素都是4行5列的二维数组

//数组的使用

#include<stdio.h>

void main()
{
int a[5] = {1,2,3,4,5};  //这五个元素分别用a[0] a[1] a[2]  a[3]  a[4]表示
int i;

for(i = 0;i<5;++i)
printf("%d\n",a[i]);
}

include<stdio.h>

void main()
{
int a[5];

}


//把一个数组元素全部倒过来

#include<stdio.h>

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

int i = 0;
int j = 7;
int t;

while(i<j)
{
t = a[i];
a[i] = a[j];
a[j] = t;

i++;
--j;
}

for(i =0;i < 8;++i )
printf("%d\n",a[i]);
}


//二维数组的操作

#include<stdio.h>

void main()
{

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

int i ,j;

//输出数组内容

for(i = 0;i<3;++i)
{
for(j = 0;j<4;++j)
printf("%-5d  ",a[i][j]);  //-5表示左对齐五个符号
printf("\n");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: