在C 中為什麼要使用指標,C 中的指標有什麼作用?

時間 2022-07-25 06:32:32

1樓:80晴天

您好,就算資料很大,指標的內容儲存的只是那段記憶體的基位址,一般為四個位元組,所以不會很大的。

2樓:

你述說的這種情況就像是圖書的目錄和頁碼 你要從一本書裡找內容 是一頁一頁翻過去快呢 還是把裡面的內容按標題放在目錄裡快呢 這裡的棧就相當於目錄 指標是目錄裡的標題 整本書是堆 頁碼是堆的乙個個空間 如果從堆裡找需要的內容 要一遍遍判斷是不是要找的內容 就是一遍一遍翻過去找 你要根據指標找到你要的內容 就是按目錄表示直接翻到那一頁 這麼說你清楚了吧

3樓:匿名使用者

指標也是資料型別。其表示乙個位址。函式的引數設計盡量用指標或者引用。因為這會「節省記憶體拷貝的長度」(或直接通過暫存器傳遞)。

另外堆和棧是沒差別的。 有的資料是在函式中(棧)上定義,有的是採用動態從堆記憶體空間分配。

棧中的資料在函式退出後會變為「無效」,而堆中分配出來的則由你自己控制。

4樓:一騎當後

指標就是位址,另外還有指標變數,也就是存放位址的變數。

指標是存放記憶體位址的,使程式設計更容易實現資料的出去和計算。

平時使用的別的變數(指的指標變數以外的變數),就是用變數名字代表了它所在的空間,本質還是到這個位址去訪問;而用指標變數訪問,就是直接訪問這個空間了,因此更高效。

5樓:匿名使用者

我來說下,

這個你可以看看彙編 之類的 或者 c 函式 呼叫 是怎麼回事 ;

首先 , 對於固定架構, 指標都是一樣大的, 都是指向乙個記憶體位址

所以 相對於 大資料 指標 是很小的 像 32bit 跟個 int 差不多大

然後就是 講個 簡單的例子, 就說 結構吧,

struct a

像這樣的乙個結構 , 如果 我有 他的 乙個指標 p

我可以 通過 p->a p->b p->......

來 呼叫 其 內部的值, 結構 在 記憶體中 其資料 有 固定的 位置 所以 通過 指標 訪問 其資料

是由 p 的 偏移 量 來實現 的 這個是 編譯器的 工作 , 編譯的 時候 已經 處理好了 ,

所以 這個 結構 不管多大 , 通過 指標 讀取他 資料 的速度 都是 一樣快的,

所以 把 指標 放到 棧 中 能有效 節省 空間 還能 節省 傳遞 大引數 時 所 耗費的 時間 ,

所以能更快, 而且 棧 空間 很小 很寶貴 , 不可能 把 大資料 壓進去的

6樓:匿名使用者

訪問記憶體空間不是很好嗎

c++中的指標有什麼作用?

7樓:願奉綿薄

指標的功能強大,它可以指向資料存放的位址,指標既可以指向變數位址,也可以指向函式。因此,無論是呼叫資料,還是呼叫函式,都可已使用指標。指標實現間接訪問,可以保證原資料不會丟失。

8樓:

我覺得不管別人問的什麼問題,多麼初級,多麼簡單,能回答還是詳細回答,或者告訴他怎麼找幫助,在那裡可以找到,別冷嘲熱諷的,大家都是這樣過來的

9樓:匿名使用者

幫你解決記憶體問題,,, 在c裡面指標是非常重要的,在c++裡面雖然有& 但指標還是非常重要的。

10樓:

c++的指標作用和c的完全一樣,簡括說就是記憶體操作。

其有點如下:

1、效率更高,不用通過變數名,直接操作記憶體(取值賦值等),這樣效率大大的高

2、可以寫複雜度更高的資料結構,這個也好理解,程式設計師可以操作記憶體,當然可以寫出靈活、複雜的資料結構

3、編寫出簡潔、緊湊、高效的程式

c 中this指標問題,C this指標,為什麼這裡顯示this指標出錯?

this 就是當前物件,只能在類的成員函式中使用。比如說有乙個 a 類,類a中有乙個成員函式 fun 建立乙個物件 a,執行 a.fun 這時this指標就指向a,在函式fun中可以使用 this代替a,就這樣,一般不會用到this指標,只有在特殊場合,比如說編寫複製賦值函式時可能會用到。this ...

C智慧型指標在什麼時候使用,C 中什麼時候用指標,什麼時候用引用

只想建立指標,不想 指標的時候,可以用智慧型指標來做。所屬標頭檔案 include 所屬命名空間及識別符號 using std shared ptr 所屬版本 c 98 g 啟用版本命令 g std c 98 c o 補充 如果啟用c 11及以上標準,即g std c 11 c o,編譯時會有乙個警...

c中的string是什麼意思,在c 中,定義乙個string str 「」是什麼意思呢?

string可以定義乙個字串型別的資料,或者是陣列 如 string str abc 表示字串 string str new string 3 表示乙個一維字串型陣列,陣列長度3 字串,用雙引號引起來的幾個字元.如 abc 一天 字串是 unicode 字元的有序集合,用於表示文字。string 物...

c語言return在if中的使用情況

在c語言中return 表示從被調函式返回到主調函式繼續執行,返回時可附帶乙個返回值,由return後面的引數指定。因此,在c語言中一般出現return語句,即改變程式執行流程到母函式中,因此無論是在if語句還是while語句,還是其它的什麼語句,return始終是返回母函式的呼叫,不需要細分什麼情...

C為什麼報錯C 的類中不能定義陣列嗎

可以的啊,你是不是弄錯了 c 為什麼報錯 c 的類中不能定義陣列嗎?c 類中可以定義陣列 但是不能給陣列初始化 只能宣告變數 給類中的成員變數付初始值的話要放到 建構函式 中 並且。你的main函式寫到類裡了?c 問題 能不能定義類的陣列?陣列在定義時是要分配記憶體空間的,所以要有相應的建構函式 p...