1、

#include <stdio.h>

void assign1(int x[], int n)//函数间数组的传递是以数组第一个元素的指针的形式传递的,因此形参变为指向数组第一个元素的指针,形参和数组本身的行为一样。
{
    int i;
    for(i = 0; i < n; i++)
    {
        x[i] = i;    
    }    
} 

int main(void)
{
    int i;
    int a[5];
    
    assign1(a, 5);  //实参a为数组名,也就是指向数组起始元素的指针
    
    for(i = 0; i < 5; i++)
    {
        printf("a[%d] = %d\n", i, a[i]);
    }
    
    return 0;
}

c语言 10-4_数组

 

 ↓

#include <stdio.h>

void assign2(int *x, int n) //指针变量x接收实参a,a为数组名,也就是指向数组a起始元素的指针,那么x为指向数组a起始元素的指针,x的行为和数组a一样。 
{
    int i;
    for(i = 0; i < n; i++)
    {
        x[i] = i;
    }
}

int main(void)
{
    int i;
    int a[5];
    
    assign2(a, 5);  //实参a为数组名,也就是指向数组第一个元素的指针。
    
    for(i = 0; i < 5; i++)
    {
        printf("a[%d] = %d\n", i, a[i]);
    }
    return 0;
}

c语言 10-4_#include_02