总结:
【形参与实参】区分形参和实参主要是,参数的作用域不一样,形参只在函数内部进行处理;
【传出函数】如果希望函数能改变外部的参数,需要往里面传参数地址,函数用指针变量来接收地址,这样的函数称之为传出函数,例如scanf函数,还有sscanf, sprintf;
【二维数组,地址+1】
对于二维数组,函数名+1,地址实际上偏移了(第二维度的总长 × 变量长度);
例如对于int arr[100][200], arr + 1,地址向后偏移了200 * 4 = 800个字节;
【接收2维及以上维度的数组】
接收2维及以上维度的数组,只能忽略第一个维度;
例如,对于
int arr[100][200][300]
就得这样来接收,才能保持地址偏移量是一样的;
int func(int (*a)[200][300]) {}