------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、数组的基本概念
1.一个int行变量或者一个float变量能保存一个人的分数,如果要保存一个班级的分数,那就远远不够。
因此,我们要用到数组。
2.数组就是用来存放一组数据的
3.数组只能存放一种类型的数据,不能同时存放int型数据和float型数据或者其它两种不同的数据类型
4.数组内部存放的数据称为元素
二、定义数组
1.格式
数据类型数组名[];
int array[4];
2.初始化数组
初始化数组的几种方式
int array1[4] = {1,2,3}
int array2[4] = {1,2,3,4};
int array3[] = {1,2,3,4};
3.数组内存分析
1)内存的分配是从高地址进行的,但是一个数组的内部元素是从低到高进行的
2)数组名的作用,用来查看元素地址
char c[5] = {'a','A','D','e','f'};
4.数组的使用
1)数组与函数参数
2)数组元素作为函数参数
3)数组作为函数参数(sizeof注意)
题目:数组作为函数参数,输出一个数组
#include
void changeArray(int array[])
{
array[0] = 1;
array[1] = 2;
}
void changeNumber(int p)
{
p = 10;
}
int main()
{
int ages[] = {5,4,3,2,1};
int a = 99;
int counts = sizeof(ages)/sizeof(int);
changeArray(ages);
changeNumber(a);
for (int i=0; i
4)遍历数组元素
两种方式遍历(while循环和for循环)
题目:输出一个数组(for循环)
#include
int main()
{
int ages[] = {10,11,12,13,14,15};
int counts = sizeof(ages)/sizeof(int);
for (int i=0; i
5)遍历元素值和元素地址
*题目:设计一个函数,找出整型数组元素的最大值
#include
int getMaxOfArray(int array[],int length)
{
int maxOfArray = array[0];
for (int i=1; i
*题目:数组寻址
#include
int main()
{
char address1[5] = {'a','F','R','B','E'};
for (int i=0; i<5; i++)
{
printf("address1[%d]的地址为:%p\n",i,&address1[i]);
}
printf("\n");
int address2[] = {34,54,56,5};
int n = sizeof(address2)/sizeof(int);
for (int j=0; j
三、二维数组
1.二维数组的概念
一维数组能表示一个班人的成绩,二维数组则可以表示多个班级的成绩;
二维数组是一个特殊的一维数组:它的元素是一维数组;
例如int a[2][3] = {{1,2,3},{1,2,4}}可以看作由一维数组
a[0] = {1,2,3}和一维数组a[1] = {1,2,3}组成。
3. 初始化int a[1][4] = {1,2,3,4,5,6};
int a[2][2] = {{1,2},{3,4}};
int a[][4] = {1,2,3,4};
*题目:输出一个二维数组
#include
int main()
{
int arr2[3][5]={
{1,2,3,4,5},
{4,5,76,7,68},
{45,6,7,87,1}
};
for (int i=0; i<3; i++)
{
for (int j=0; j<5; j++)
{
printf("%d-",arr2[i][j]);
}
printf("\n");
}
return 0;
}