二 二维数组

01 二维数组的定义:

类型标识符 数组名[常量表达式][常量表达式]; 如:int a[3][4]; 表示定义了一个3行4列的整型二维数组a,含有12个数组元素.

02 二维数组的引用:

数组名[下标][下标]

数组的下标从零开始,引用时不能超过数组定义的范围.

03 二维数组的初始化

l 按行给二维数组赋初值

l 按数组储存顺序依次给各元素赋初值

l 可以对部分元素赋初值,其余元素自动赋默认值

l 只对数组中各行的某些元素赋初值

// 数组作为函数参数,可以省略元素个数
// 数组作为函数参数,传递是整个数组的地址,修改函数参数组元素的值,会影响到外面的实参数组
#include <stdio.h>

void change(int array[]);

int main()
{
    
    int ages[]={12,5,8,89};
    
    change(ages);
    
    for (int i = 0; i<4; i++)
    {
        printf("ages[%d]=ages[%d]\n",i,ages[i]);
    }
    
    
    
    
    
    
    return 0;
}

void change(int array[])
{
    array[0]=555;
    
    
}

 

 

三 字符数组与字符串

01 字符数组的定义

用来存放字符型数据的数组称为字符数组.

02 在进行初始化时,可以逐个的将字符赋值给数组中的元素.

03 引用字符数组中的一个元素,可以得到一个字符

04 字符串的定义:

字符串必须以’\0’作为结束标志,它只表示一个字符串的结束,没有任何具体意义.其不会记如字符串的长度中,但是占据一个储存空间.

05 字符串的初始化

可用字符串整体对字符数组进行初始化

06 字符串的输入和输出

l 用”%c”格式控制符实现逐个字符的输入/输出

l 用”%s”格式控制符对数组进行整体输入和输出

/*
 
 设计一个函数,找出整型数组元素的最大值
 */
   // 数组当做函数参数传递时,会当做指针变量来使用,指针变量在64bit编译器环境下,占据8个字节
#include <stdio.h>

int maxOfArray(int array[],int length);

int main()
{
    int ages[] = {445,55,555,698,6666,8};
    
    int size =  sizeof(ages)/sizeof(int);
    
    int max = maxOfArray(ages,size);
    
    printf("max = %d\n",max);
    
    
    
    
    return 0;
}

int maxOfArray(int array[],int length)
{
    int max = array[0];
    
    for (int i = 0; i<length; i++)
    {
        if (max < array[i+1])
        {
            max = array[i+1];
        }
        
        
        
    }
    
    return max;
}