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; }
↓
#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; }