為什麼別的語言中沒有像C語言一樣有指標?

時間 2021-05-30 14:23:05

1樓:liouperng

因為現在指令碼語言、函式式語言大行其道,不是正規化不需要,就是為了菜鳥好學。C類語言(C++/C#)有指標,Pascal類語言(Delphi/Ada)也有指標。

2樓:不胖的羊

為什麼大部分語言都不用指標呢?

答案可能是這些語言把該用指標的部分都用C/C++寫了,包在標準庫里。

指標是大殺器,不敢給小孩瞎玩

3樓:longway

什麼啊。物件導向的語言中除了int float bool這些原始型別,其他型別的變數都是位址引用。只不過在c語言裡起了個怪異的名字叫指標(pointer),顯得有點詭異(特別是中文譯名指標,令人不明覺厲),然後再加上上課時候老師不停的威脅你指標很重要,指標很難.

…然後就有了很多人程式設計學不好就推脫:嗯,指標太難…

叫reference合理多了

4樓:哈哈

程式語言的本質就是操作記憶體完成計算,隨著程式語言的發展,抽象程度高了,直接操作記憶體的行為一系列操作可能大都被乙個抽象程度高的操作(比如malloc返回的是乙個void*型別的指標該行為抽象程度就較低,本身函式的本質就是對一系列的操作進行模組化的封裝和抽象)所代替。

5樓:

除了一脈相承的c艹和c sharp,其他語言當然不會給自己找麻煩新增指標。

因為指標操作太底層了,使程式設計師無法專注於邏輯層面的工作。實際上c系列的程式設計師,大部分時間都是在同記憶體洩露,野指標等指標相關的bug上鬥智鬥勇。

而其他程式猿則微笑地看著c系列的程式設計師情緒崩潰,歇斯底里。他們紛紛表示,雖然失去了對記憶體直接操縱帶來的使用效率,但是卻大大提公升了研發時的開發效率,這完全是值得的。

這就是為什麼其他語言沒有指標,這也是其他語言最有價值的地方之一。

6樓:Yanchen Shi

Go也有指標。直接看Go Tour上的例子。

package main

import "fmt"

func main()

結果就是

422173

在C語言中什麼意思?

男兒本色 在C語言中代表的是取位址符。scanf d a 這代表的是像a這個變數中輸入乙個整型數,我們知道,計算機的資料是放在電腦的儲存單元中的,在變數被建立的時候,在儲存器中就被分配了一定的儲存空間,這時我們在給這個變數賦值的時候就是往這個儲存空間中放數值,也就是直接將數值寫到這個空間中,a就代表...

為什麼 C 語言中的一些特性不被 C 支援?

apeng 多謝各位的回答 這裡 http 正好比較不錯專門計論了 c與c 不相容的那一部分少量特性的事情,有興趣的可以看看。 Sunchy321 參見ISO C C.1。例如 x 型別不同是為了過載 void 向O 的隱式轉換被禁止是為了型別安全 的結果可以是左值是因為 C is an objec...

為什麼有C語言 有C 卻沒有C 語言?

Alds Nick C 這個名字是Rick Mascitti於1983年中所建議的,並於1983年12月首次使用。更早以前,尚在研究階段的發展中語言曾被稱為 new C 之後是 C with Classes 在電腦科學中,C 仍被稱為C語言的上層結構。它最後得名於C語言中的 操作符 其對變數的值進行...