Re: [問題] 關於新手十戒的小問題
看板C_and_CPP (C/C++)作者snowlike (snowlike)時間16年前 (2009/10/31 19:01)推噓2(2推 0噓 5→)留言7則, 3人參與討論串3/3 (看更多)
c 沒有 call by reference;
在 c++ 可以這麼作
void func(int &d) {
d=2;
}
int d; func(d);
c 採 call by address(pointer) 實現
void func(int *ptr) {
*ptr=2;
}
int d; func(&d);
以上都正確無誤,但不是說就表示相等
但是現在想傳遞的是指標,其實不管 by 不 by 的
int *target=NULL;
int *ptr=target;
ptr=target; ptr=(int*)malloc(sizeof(int));
怎麼看要傳遞的target都是給拋棄了
就參考 call by address 來實作好了;對target來說,位址表示成 &target
func(&target); 那麼 void func((int ??) ptr) {...} ?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.184.50
推
10/31 19:07, , 1F
10/31 19:07, 1F
→
10/31 19:07, , 2F
10/31 19:07, 2F
→
10/31 19:08, , 3F
10/31 19:08, 3F
→
10/31 19:10, , 4F
10/31 19:10, 4F
→
10/31 22:53, , 5F
10/31 22:53, 5F
→
10/31 22:53, , 6F
10/31 22:53, 6F
推
11/01 00:01, , 7F
11/01 00:01, 7F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章