数组名是地址传递是指什么意思 和数组元素传递到底有什么不同 我知道一个是地址一个是数值 能不能给我
数组名是地址传递是指什么意思和数组元素传递到底有什么不同我知道一个是地址一个是数值能不能给我一个直观的解释...
数组名是地址传递是指什么意思 和数组元素传递到底有什么不同 我知道一个是地址一个是数值 能不能给我一个直观的解释
展开
2个回答
2015-11-29 · 知道合伙人数码行家
关注
展开全部
数组元素作为函数的形参时,
形参和实参是由编译系统分配的两个不同的内存单元,
值只能
从实参向实参传递。
而使用数组名作为实参,
形参数组仅仅是一个虚数组,
在函数调用时编
译系统仅仅分配一个存储地址的变量,
形参数组名就是该变量名,
参数传递时将实参数组的
首地址传给该变量,
这样形参数组和实参数组首地址相同,
表示的是一个数组,
共享同一段
内存空间,
传址:也相当于赋值,只是他所赋值的对象不是实参的内容,而是实参所分配内存的首地址,因为指针才能对地址操作
形参和实参是由编译系统分配的两个不同的内存单元,
值只能
从实参向实参传递。
而使用数组名作为实参,
形参数组仅仅是一个虚数组,
在函数调用时编
译系统仅仅分配一个存储地址的变量,
形参数组名就是该变量名,
参数传递时将实参数组的
首地址传给该变量,
这样形参数组和实参数组首地址相同,
表示的是一个数组,
共享同一段
内存空间,
传址:也相当于赋值,只是他所赋值的对象不是实参的内容,而是实参所分配内存的首地址,因为指针才能对地址操作
更多追问追答
追问
请问传递首地址怎么理解 后面的地址不传递了吗
追答
传递 你给她首地址 那后面的 不是 一个一个的 就延续下去了吗 *(a + i)
2015-11-29
展开全部
把数组传递给一个函数,实际上是把这个数组的首元素的地址传入了函数。
把数组元素传入此函数,实际上是直接把元素的值传递给了这个函数。
把数组元素传入此函数,实际上是直接把元素的值传递给了这个函数。
追问
请问首元素的地址是什么意思啊 还有数组元素传递中 是传递的所有值吗
追答
数组名代表的就是数组首元素的地址,即数组的地址。
如果传入的是一个数组元素,那么只会把这个元素传入。
脱离实际程序的解释很空洞,作用是不大的,建议仔细研读C语言教材中的相关内容或者写出实际程序 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询