
正文
c语言中,数组怎么传递地址,c语言数组传入自定义函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言,数组的地址不能传递吗,主要是下面这种?
1、这个是C++的写法。&是取别名。void CreateALGraph(ALGraph &G)如果这么调用:CreateALGraph(g);那么在调用过程中G和g表示同一位置,并且不分配空间给G,G和g占用同一空间,G是g的别名。
2、实际情况是,数组做参数,完全无法按值传递。这是由C/C++函数的实现机制决定的。
3、属于地址传递,在函数里修改的话,将直接影响调用方的数值。这是因为数组名代表这个数组的首地址,不过是静态不可更改的而已。在函数里用引用[i]下标时,就是找到这个数组第i号元素的地址进行修改的。所以是第于是地址传递。
4、数组作为参数是按地址传递的 数组名就是数组的首地址。因此在数组名作函数参数时所进行的传送只是地址的传送, 也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。
相关问答
Q1: c语言中,怎么把数组的地址传给一个int型变量?
1、不能把数组的首地址赋给另一个数组。因为数组名是常量指针类型,初始化之后是不能够被修改的。
2、首先你要看你已知的地址是什么类型变量的地址,然后你就定义一个和前面基类型对应的指针变量,比如 int a;int *p; p指向储存整形数据的空间。p=保证p与&a为同一类型。
3、因此在数组名作函数参数时所进行的传送只是地址的传送, 也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间。
4、// 参数://a - 指向第一个变量的指针//b - 指向第二个变量的指针void swap(int* a, int* b){// 声明一个临时变量,保存第一个指针指向变量// 的值。
Q2: c语言中交换两个数据,为什么数组是地址传递捏
1、如果是不是传地址,那会在函数中重新定义两个变量分别等于两个参数的值,对新定义的两个变量进行操作。和原来的两个变量无关。 如果是传地址,那就是把两个数的地址传到函数中,对两个地址中的内容进行操作。
2、地址传递,函数调用返回以后,函数对相应地址变量值的修改可以影响变量值。
3、C语言中,数组名作为函数参数,属于数组参数传递。在VB0中,允许使用数组作为实参传递到子过程的形参中,数组传递必须采用地址传递的方式来传递参数。
4、这里有两这两个原因可以让你明白c语言数组传址不传值。
5、属于地址传递,在函数里修改的话,将直接影响调用方的数值。这是因为数组名代表这个数组的首地址,不过是静态不可更改的而已。在函数里用引用[i]下标时,就是找到这个数组第i号元素的地址进行修改的。所以是第于是地址传递。
6、数组作为参数是按地址传递的 数组名就是数组的首地址。因此在数组名作函数参数时所进行的传送只是地址的传送, 也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。
c语言中,数组怎么传递地址的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言数组传入自定义函数、c语言中,数组怎么传递地址的信息别忘了在本站进行查找喔。






