目录
数组的含义: 存放一组数据的集合,并且它是n个相同类型元素的有限集合
1 数组的定义
数据类型 数组名[元素个数]; int date[100];
注意:
1.元素个数必须为常量或常量表达式
2.数组元素类型一致(单一性)
3.数组名要求与变量命令要求保持一致
2 数组的元素访问
访问数组内的元素用元素下标来给与访问
注意:
1.元素下标范围为: 0 - 元素个数-1,注意不要越界访问
2.元素下标可以是:变量、常量、变量表达式、常量表达式
3 数组的初始化方式
切记!!!初始化不是赋值
1.全部初始化:
int a[5] = {1, 2, 3, 4, 5};
2.局部初始化:
int a[5] = {1, 2, 3};
注意:
没有给定初值的元素默认赋值为0值
int a[5] = {0};
3.默认初始化:
int a[] = {1, 2, 3, 4, 5};
4 数组的存储
int a[5];
数组存储空间的大小 = 每个元素所占空间大小 * 元素个数;
获得数组有多少个元素:
sizeof(a) / sizeof(a[0]);
连续性:数组存放的空间是连续的
有序性:数组内存空间由低到高分别为a[0] .. a[n-1]; a[n]为越界
eg: 定义一个数组,从终端接收5个数,并对数组元素倒置后完成打印
#include <stdio.h>
int main(int argc, const char *argv[])
{
int tab[5] = {0};
int i = 0;
for(i = 0;i < 5;i++)
{
scanf("%d",&tab[i]);
}
int sum = 0;
sum = sizeof(tab)/sizeof(tab[0]);
for(i = 0; i < sum/2;i++)
{
tab[i] = tab[i] ^ tab[sum -1 - i];
tab[sum -1 - i] = tab[i] ^ tab[sum -1 - i];
tab[i] = tab[i] ^ tab[sum -1 - i];
}
for(i = 0;i < 5; i++)
{
printf("tab[%d]= %d\n",i,tab[i]);
}
return 0;
}