复杂数据类型——数组

时间:2022-04-07 07:28:25

复杂数据类型是C语言基础的重点。

1、数组:存储一组数据。


2、特点:只能存放一种类型的数据。如int类型,float类型的数据。

                 数组的元素个数只可以放常量。int ages[5]={1,2};


3、格式:类型   数组名[元素个数]      例如: int ages[10]={10,23,23,23,2,32,23,24,5,0};

这里引入一个遍历,用来查看数组里面的元素。

for(int i = 0; i <数组元素个数;i++)

{

         printf("ages[%d]=%d\n",i,ages[i] );

}


4、初始化方式:(在定义数组的同时进行初始化,数组元素个数必须是常量,或者不写个数)

第一种方式:

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


第二种方式:      没有定义的默认值为0,即ages[1] = 0; ages[2] = 0;

int ages[5]={ [3]=4, [4]=5 };


第三种方式:确定数组元素,可以省略元素个数

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


另一种的数组正确写法:   A的ASCII的值是65,小写a为97,两者相差32.为固定值。

int ages['A']={10,2,3,4,5};

或者这样写,但是不建议。

int count = 5;

int ages[count];

ages[0] = 5;

ages[1] = 10;

ages[2] = 190;

5、计算数组长度:可以使用sizeof来计算    

 int  count  = sizeof(ages)/sizeof(int)

6、数组与函数:数组作为函数参数时,可以省略函数个数。

      数组当作函数参数传递的是数组首元素的地址,也是数组地址。

       数组当作函数参数传递时,会当作指针变量来使用,指针变量在64位编译器环境下,占据8个字节。

      基本数据类型当作函数参数传递时是值传递。

练习:设计一个函数,找出数组元素最大值:

#include <stdio.h>

int MaxOfArray(int array[],int length)

{      

定义一个变量存储最大值(默认首元素)

int max = array[0];


//遍历函数,由于默认最大值是首元素,所以从1开始,int i = 1;

for(int i = 1; i < length; i++){

//如果当前元素大于max,就用当前元素覆盖max

if(array[i]>max){

max  =  array[i];

}

}

return max;

}

int main()

{

int ages[] = {11, 90, 67, 100, 78, 60, 10, 89, 120};

       // 调用函数,传入两个值

MaxOfArray(ages, sizeof(ages)/aizeof(int))

return 0;

}

7、二维数组: 数组中的数组

        int  ages[3][50];代表可以存放3个数组,每个数组里面放50个元素。

二维数组表现形式:

int ages[3][5] = {  {19,12,12,1,2}, {19,12,12,1,2}, {19,12,12,1,2} };

char cs[2][3] = { {'a','b','c'},{'a','b','c'} };