PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   學校討論區的爆笑對話 (https://www.pcdvd.com.tw/showthread.php?t=659818)

booger 2006-10-04 06:12 PM

學校討論區的爆笑對話
 
作者:me (就是在下小弟我啦)
主旨:C語言哪來的 call by address...

``In C, all functions are passed " by value" '', K&R,
page27

呃...被中文書籍誤導7年了...


-------------------------------------------------------
作者:schoolmate 1
主旨:Re: C語言哪來的 call by address...

其最初設計適用來取代部分的組合語言於OS的開發,於1970年
Bell Lab被設計出,並於歷經超過20年的推廣使用和標準建立
,它可說是世上最為普遍的語言之一,C語言發展仍有許多就系
統使用,甚至被現在多數的embedded system 使用。

(答非所問的典範...)


-------------------------------------------------------
作者:me
主旨:Re: C語言哪來的 call by address...

其實真正的原因是...

C語言是當初要開發UNIX,才研發出來的。

而開發UNIX的目的,是為了在PDP-11上面
玩遊戲(不是PDA喔)

這個玩遊戲計畫,就是K&R做的

(以上是網路看來的,我也不確定對不對)


不過,這和C沒有call by address有啥關係?



-------------------------------------------------------
作者:schoolmate 1
主旨:Re: C語言哪來的 call by address...

c語言有2種參數:

1.call by value→傳值
2.call by address→傳址

第2個,其泛用性定義:call by address = call by reference



-------------------------------------------------------
作者:me
主旨:Re: C語言哪來的 call by address...

reference不是C++的東西嗎?



-------------------------------------------------------
作者:schoolmate 1
主旨:Re: C語言哪來的 call by address...

找幾本有關C/C++的原文電子書,然後再用關鍵字去搜尋"Call by Address"
和"Call by Refrence",看外國做這是如何給予定義。



-------------------------------------------------------
作者:me
主旨:Re: C語言哪來的 call by address...

我第一篇寫的內容,就是原文書講的呢...

「C語言的函數呼叫,不像是福傳語言是傳參照,而是傳值,
但是我們可以傳一個指標達到傳址的目的」

所以就算傳指標過去,還是call by value,不是call by reference
書的索引也沒看到"call by address"

還是書上寫錯了...?



-------------------------------------------------------
作者:schoolmate 2
主旨:Re: C語言哪來的 call by address...

你可能要去搞懂一下 這個 * 符號跟這個 & 符號的用法
我記得市面上一些C/C++的書都會有小範例解釋



------------

看到最後,我不禁懷疑是我錯了
:confused:

http://c-faq.com/ptrs/passbyref.html


所有的時間均為GMT +8。 現在的時間是09:29 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。