数组作为函数的参数:
用指向数组的指针作函数参数
一维数组名可以作为函数参数,多维数组也可作函数参数。
用指针变量作形参,以接收时参数组名传递来的地址。
可以有两种方法:
1.一维数组用指向变量的指针变量
2.二维数组用指向一维数组的指针变量
原数组当成值传递时,改变的是原地址,传入的值发生改变,这个和实参传形参不同,形参是开辟空间然后给实参赋值,但是数组为了节省内存,直接在内存中改变值。
课堂习题
用指针,将数组倒叙打印
#include <stdio.h>
void main(){
int a[4]=[1,2,3,4];
int *p;
p=&a;
for(int i=0,i<2;i++){
int b=0;
b=*(p+i); 用指针取地址的值,通过第三个变量进行交换两个地址的值。
*(p+i)=*(p+3-i);
*(p+3-i)=b;
}
for(int j=0;j<4;j++){
printf("%d",a[j])
}
}
今天犯了一个错误,在定义变量时没有初始化,导致系统有时候会分配垃圾数据。