帮忙解决下~!

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:32:26
请问指针和数组作形参和普通变量作形参有什么区别吗?

我的问题就是这个~!

你好
请问你想问的是在那一方面的区别
一般来讲
指针与数组是将所指的第一个地址传递给形参(属于引用调用)
而普通变量是将数值传递给形参(属于值调用)
不知道这是你需要的区别吗?

最好你能发你写的程序
“整个函数的输出结果”
是不是说在子函数中对形参的更改,
整个函数中被形参引用调用的实际参数也发生了改变?

指针与数组是将所指的第一个地址传递给形参,也就是说传递给子函数的只是一个地址,你在子函数中形参的每一次改变,也就是改变实际参数,这就是引用调用的优势所在。

#include <iostream>
using namespace std;

// Declare swap() using pointers.
void swap(int *x, int *y);

int main()
{
int i, j;

i = 10;
j = 20;

cout << "initial values of i and j: ";
cout << i << ' ' << j << '\n';
swap(&j, &i); // call swap() with addresses of i and j
cout << "swapped values of i and j: ";
cout << i << ' ' << j << '\n';

return 0;
}

// Exchange arguments.
void swap(int *x, int *y)
{
int te