调用时参数能这样传递吗?

snoopy291 2005-05-02 12:08:05
比如:
void a(int i,int j)
{
...

}

void b(int i,int j)
{
...
a(i,j); //调用a函数
}
和下面的比较起来:
void a(int i,int j)
{
...

}

void b(int i,int j)
{
int k,l;
k=i;
l=j;
...
a(k,l);//调用a函数
}
到底哪个能真正地实现参数的传递?
还有,要是这样的情况呢:
void a(int i,int j)
{
...

}

void b( )
{
int i,j;
for(i=0;i<15;i++)
for(j=0;j<15;j++)
a(i,j); //调用a函数
}
这个能实现真正的参数传递吗?
...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
snoopy291 2005-05-02
  • 打赏
  • 举报
回复
我只是想传递值吧?要是上面的能真正实现传递值,那就可以了,可是就是因为调用的时候,好象没有明确的值,而只是用变量符号,就担心传不了。

还想问下,地址传递和值传递有什么不同吗?就是传递之后有什么改变??
sonique 2005-05-02
  • 打赏
  • 举报
回复
void a(int i,int j)中的i,j是函数和外界的接口,以实现参数从外部传入函数内部。外界和内部都可以使用,不必另外定义k,l
qhfu 2005-05-02
  • 打赏
  • 举报
回复
参数都传递了,,不过传递的是拷贝值, 要传递左值的话,要传引用或者指针
useresu 2005-05-02
  • 打赏
  • 举报
回复
晕...
都是函数传递啊.

真正的传递指什么?

传址?

那要用引用或指针,

得把函数声明为:

void a(int &i,int &j)
{
...

}

void a(int *i,int *j)
{
...

}


只见烟火飞扬 2005-05-02
  • 打赏
  • 举报
回复
真正的参数传递?——什么意思,是指a(i,j);就把i,j地址传过去?这里只是传递的值,不传地址;
传址可以用指针做参数

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧