1. 二维数组
二维数组的另一种表示方法: *(*(a+i)+j) =
2. 一维数组参数
形参:指声明或定义函数时的参数
实参:在调用函数时主调函数传递过来的实际值
程序错误分析:
1)首先,b[10]数组越界,虽然在编译的时候没有实际地址取值,但当程序运行时会发生越界错误
2)其次,编译器需要的是一个char *类型的参数,而实际传过去的是一个char类型的参数
重要结论:
1.C语言中,当一维数组作为函数参数时(即形参),编译器总是把它解析成一个指向其首元素首地址的指针
2.C语言中,所有非数组形式的数据实参均以传值形式调用,即对实参做一份备份并传递给被调用的函数,函数不能修改作为实参的实际变量的值,而只能修改传递给它的那份备份
3. 一级指针参数
4. 二级数组参数和二级指针参数
可以把 a[3][4]理解成一个一维数组a[3],其每个元素都是一个含有4个char类型数据的数组,可以改写为
数组参数
char a[3][4]
char *a[5]