作者heyra ()
看板C_and_CPP
标题[问题] 请问如何用副函式回传2个值(c语言)???
时间Fri Oct 30 16:14:05 2009
void ShowHistogrm3( )
{
int a,b;
printf("请输入第一个值:");
scanf("%d",&a);
printf("请输入第二个值:");
scanf("%d",&b);
}
请问要怎麽把副函式的a b值皆回传到主函式里????
可以帮忙改写一下吗?
困扰好久了> <
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.72.84.170
1F:推 holymars:参数列传址呼叫 10/30 16:23
2F:→ holymars:void ShowHistogrm3(int* a, int *b) 10/30 16:23
3F:推 VictorTom:跟风请教一下h大, 对照 #1AwL0WS1 来看, 小弟有个疑问, 10/30 16:27
4F:→ VictorTom:什麽情况下我们像这样传address或reference, 什麽情况 10/30 16:27
5F:→ VictorTom:下用包装return type的型式会比较好呢?? 还是全看设计@@ 10/30 16:28
6F:推 holymars:看你function主要是做什麽啊.. 10/30 16:28
7F:→ holymars:反正return就是要copy,传address会有access overhead 10/30 16:29
8F:→ holymars:Effective C++里面有一款就是在讲类似的问题:在对的地方 10/30 16:30
9F:→ holymars:用对的设计,但不是绝对 10/30 16:30
10F:→ holymars:总之就是清楚掌握语言特性,就能了解各种写法的优劣之处 10/30 16:32
11F:→ holymars:然後再根据需求加以选择就是了 10/30 16:32
12F:→ heyra:谢谢h大!!!!!!问题已解决了^^ 10/30 16:53
13F:推 QQ29:h大所谓的access overhead是甚麽意思?? 10/30 17:20
14F:→ james732:是说存取pointer的间接取值吗? 10/30 17:23
15F:推 QQ29:会不会有种情况是 你function里面 对那个pointer dereference 10/30 17:32
16F:→ QQ29:过多次 变成宁可传copy再return copy回去 反而比较有效率? 10/30 17:33
17F:→ netsphere:struct 10/30 17:35
18F:推 holymars:如果是primitive type,这是有可能的 10/30 17:59
19F:推 QQ29:为什麽说只针对 基本型态@@ 10/30 18:26
20F:推 holymars:你认为 a->data 和b.data 各发生几次dereference? 10/30 18:31
21F:→ holymars:一个物件的指标 和一个物件 对其data member的存取效率 10/30 18:32
22F:→ holymars:在很多情况下是相同的 除非你有虚拟继承 10/30 18:32
23F:推 VictorTom:先谢谢h大, 小弟我努力消化一下....@_@" 10/30 18:38