C++指针的基本认识
1.数组做函数参数
首先,所有传递给函数的参数都是通过传值方式进行的,传递给函数的都是参数的一份拷贝。
接着,当传递的参数是一个指向某个变量的指针时,函数将对该指针执行间接访问操作(拷贝指针,并访问所指向的内容),则函数就可以修改指向的变量。
2.一维数组
数组名实际就是一个指针,其储存的值就是数组首元素的地址
数组做参数时一般有两种形式:
void Printf(int *arr,int len) //更准确,因为实参实际上是个指针
void Printf(int a[],int len)
3.二维数组
3.1 简介
组成形式: 类型名 数组名[行号][列号];
数组的整体赋值只能在定义的时刻进行,如果是部分元素赋值需要给出行号和列号,如果是给全部元素赋值,则行号可省列号必须给出。
二维数组可以看作是有若干个一维数组嵌套而成的。
当一个一维数组的每一个元素都是一个一维数组时,那它就是一个二维数组。
3.2二维数组名的理解
二维数组arry[3][2];
其中arry是数组名,相当于是一个二级指针,但它不属于指针变量,是地址常量。
简单的可以这样理解二维数组的数组名:arry存放的的是是arry[0]的地址,而arry[0]中的元素是一个一维数组,可以认为arry[0]是这个一维数组的数组名,
那么就可以认为arry[0]又存放着arry[0][0]的地址。