學習c和c 程式設計時,為何指標會與許多概念有關聯,比如說變數 陣列,函式啊,還有形式引數與實參什麼的

2022-12-06 17:46:21 字數 1554 閱讀 1321

1樓:匿名使用者

資料是放在記憶體中乙個乙個的位元組裡的,要想運算元據,比如知道這個資料佔了幾個位元組,以及佔的第乙個位元組的編號是什麼,這個編號就是位址。

以前的組合語言,程式設計師寫層序必須告訴計算機這個位址,但是資料多了就麻煩了,於是有人想出來了辦法,給這個位址起個名字寫程式不就好記了麼,這就是變數名的由來,但是僅有這個位址不行,因為乙個資料可能佔好多位元組,於是變數就有了型別,不同的變數型別其實就是告訴作業系統這個資料佔據的位元組數。

有了變數名,很多程式寫起來就好寫多了,但偏偏有時候還需要用到這個位址,於是就出現了指標這個概念,這個指標儲存的,其實就是位址,指標的型別,其實指的是它這個位址指向的資料的型別,操作這個資料,既可以用變數名,也可以通過這個指標找到該位址,再通過指標型別知道它佔據了多大空間,從而操作它。

形參是你編寫函式時,並不知道讓你要計算的資料是什麼,於是你假設了兩個資料,這樣你才能編寫程式實現功能,這就是形參,也稱虛參。比如讓你編寫求和函式,add,你不寫上兩個引數 a和b,你**裡沒法寫求和過程即 a+b 啊。

實參就是別的函式呼叫你的函式時,真正讓你計算的資料,這個引數會替代虛參參與運算,從而得到結果,比如你呼叫 add(c,d); ,c和d才是真正要計算的資料,但你寫 add 函式時,你是不知道要你計算的是c和d的。

當然,解釋起來涉及到的東西很多,我就不多說了,越說越多,自己多看看,多謝謝程式就理解了。

2樓:匿名使用者

因為指標是指向記憶體位址的變數,所以他可以指向所有儲存在記憶體裡的內容

變數,陣列,函式都是儲存在記憶體裡的啊

至於形參來說,他如果用指標,就是直接引用指標指向的記憶體的內容,而如果不用指標,就是把變數複製並傳給函式用.

3樓:夏屋夏屋

因為時針就是位址

而儲存變數,陣列,函式都是有位址的

因此他們三個會與指標有關係了

比如說 int *pt ;

pt就是int型別變數的指標(位址)

int a = 0 ;

pt = &a ;

定義乙個int型別變數,把a的位址賦值給pt , 這樣pt就表示a了其他的同理

4樓:匿名使用者

試試當成電腦裡的快捷方式理解, 比如乙個 txt 建立乙個快捷方式是一級指標,對快捷方式再建立乙個快捷方式 就是二級指標。

用 * 就是雙擊快捷方式, 修改文字內容。

修改指標的值就是 修改快捷方式裡面的 位址。

5樓:匿名使用者

指標提供了一種間接訪問的機制,就像一把鑰匙,有了這把鑰匙就可以知道房間裡面裝了什麼東西。指標就是乙個道理,通過指標我們可以訪問到他所指向的內容。書的話看c與c指標;入門的話看譚浩強c語言教程中關於指標講解的部分,那個講的比較好。

6樓:匿名使用者

<

這本書很有名氣,

但是在c++上,一般不建議用指標,

用引用,效率很更好

7樓:

我不明白你為什麼把private想象成乙個鎖,可能你還沒理解物件導向的程式設計思想

c語言程式設計指向結構體陣列的指標,C語言程式設計指向結構體陣列的指標

1 結構體指標其實是乙個指標,它儲存的是指向某個結構體的 位址 所以結構體指標陣列儲存的其實是指向一組結構體的 位址 陣列,它本身並不包含結構體的具體內容 沒有被分配記憶體 2 所以當用到他們時,要麼重定向,比如 d b 讓d指向b,d儲存的是b的位址,這樣就能通過d來呼叫b了 要麼用malloc為...

windows下c程式設計和dos下c程式設計什麼不同

如果單單從學習語法的角度來講,windows下c程式設計和dos下c程式設計沒有什麼區別。開發工具是不一樣的,但是dos下的工具也可以用在windows上阿。dos的程式當然可以執行在windows上。c是一種語言 可以跨平台的,不同平台下的編譯器是不一樣的。windows上有編譯器 linux上也...

最近開始學習linux和qt程式設計,但是C和C 基礎太差,學起來很吃力,在網上看到V4l2的例子看不大懂

首先你要搞清楚語法。樓上說的很對,你的大部分沒有定義都是因為標頭檔案內。我們知容道,程式程式設計師不可能從頭開始書寫全部的 最基本的,printf,scanf等這些函式,在stdio.h中已經被定義好了,你什麼時候見過他們的宣告?類似的,在c 中,程式設計師已經可以通過include的方式直接使用其...