数组名 参数

来源:百度知道 编辑:UC知道 时间:2024/05/15 02:08:48
数组名作为参数时,传入的是第一个元素的地址,但为什么在函数内可以改变所有元素的值呢?

数组名表示的是数组的首地址,这就相当于一个指针。在函数中要改变数组元素,肯定是要通过数组下标访问的,数组的下标其实就是相当于首地址的那个指针的偏移量。char a[4]='0';,当访问a[2],时,就是让*a这个指针的指针变量a+2,a[2]的值等于*a[a+2]...其实再往深处说,跟本就没有数组的概念,全都是由指针实现的,数组是特殊的指针,数组和指针的区别只有一个,就是指针变量可以自加减,而数组不可以,其他的用法和概念都一样的

知道数组的类型就能知道数组里每个元素的长度,根据第一个元素的地址就可以求出所有元素的地址了。对数组的每一个元素都是直接从地址上读取的