C語言中直接訪問資料方式和間接訪問資料方式區別

時間 2022-09-09 15:48:34

1樓:人生太煩人

直接訪問資料和間接訪問資料 直接訪問資料是指通過變數名直接使用變數資料,我們以前編寫的程式,都是用這種方式訪問資料。例如間接訪問資料是指通過指標變數去訪問其他變數資料,這是c語言中大量使

2樓:天天穎穎

c語言具有獲取變數位址和操作位址的能力,而用來操作位址的這種特殊資料就需要使用指標。指標是c的核心思想,是否可以熟練運用指標是是否掌握c語言的標誌。

指標概述

指標是一種資料型別,它的值表示記憶體位址,指標資料型別宣告的變數是指標變數,使用指標變數可以對記憶體空間進行操作。在c中,對記憶體空間的訪問有兩種訪問方式,直接訪問和間接訪問。

1.直接訪問

按照c的方式,如果定義乙個變數,系統會給這個變數分配一塊記憶體,變數有兩個屬性,變數值和變數位址。變數位址指示了該變數在記憶體中的儲存位置,變數值是這塊記憶體中的內容。要訪問這塊記憶體空間上的內容,可以直接使用變數名。

2.間接訪問

間接訪問的含義是先從其它記憶體空間獲得要訪問的記憶體位址,根據得到的位址訪問目的位址。

簡述c語言中直接訪問資料方式和間接訪問資料方式的區別

3樓:天天穎穎

c語言具有獲取變數位址和操作位址的能力,而用來操作位址的這種特殊資料就需要使用指標。指標是c的核心思想,是否可以熟練運用指標是是否掌握c語言的標誌。

指標概述

指標是一種資料型別,它的值表示記憶體位址,指標資料型別宣告的變數是指標變數,使用指標變數可以對記憶體空間進行操作。在c中,對記憶體空間的訪問有兩種訪問方式,直接訪問和間接訪問。

1.直接訪問

按照c的方式,如果定義乙個變數,系統會給這個變數分配一塊記憶體,變數有兩個屬性,變數值和變數位址。變數位址指示了該變數在記憶體中的儲存位置,變數值是這塊記憶體中的內容。要訪問這塊記憶體空間上的內容,可以直接使用變數名。

2.間接訪問

間接訪問的含義是先從其它記憶體空間獲得要訪問的記憶體位址,根據得到的位址訪問目的位址。

有沒有c語言大神解釋一下指標的間接訪問和直接訪問?還有指標是不是既是乙個位址,又是乙個變數?

4樓:

間接訪問是通過指標變數存放的位址訪問的,直接訪問就不用借助指標變數,指標可以認為是位址,但不是變數,指標變數才是變數,只是國內書都把那兩個混在一起

c語言中return用法,C語言中return用法

return是個好東西 第乙個作用,也就是他的真實作用 返回值,這個返回值是和函式的型別有關的,函式的型別是什麼,他的返回值就是什麼 比方主函式int main 這裡就必須有乙個return,只有void時可以不用返回值。功能函式 int fun 這個時候fun函式的作用就是返回乙個int 型別的值...

c語言中 bool的用法,C語言中 bool的用法

布林型 bool 變數的值只有 真 true 和假 false 布林型變數可用於邏輯表示式,也就是 或 與 非 之類的邏輯運算和大於小於之類的關係運算,邏輯表示式運算結果為真或為假。bool可用於定義函式型別為布林型,函式裡可以有 return true return false 之類的語句。布林型...

關於c語言中scanf的問題,關於C語言中scanf的問題

scanf後面的 f格式,必須與輸入格式相一致 按您的輸入,中間用逗號,與scanf中 f之間格式不符,結果只接收了第1個變數,後面沒接收,因而是零 有的編譯器會是隨機數 正確寫法 1 如果 scanf中 f之間用空格,即 scanf f f f a,b,c 應該輸入1 2 3 中間有空格 2 如果...

c語言中的二維陣列問題,c語言問題 c語言中二維陣列在記憶體中怎樣儲存?

目的是將緩衝區中輸入流中資料清除,可以使用 fflush stdin 清除資料 gets函式會把前面在scanf函式的輸入結束符即回車當做第乙個字串資料的結束符接收,因此不加gets s 就會導致資料個數少乙個。當然使用gets s 會提前接收了回車,因此也是起到同樣的作用。你程式函式中有個錯誤,p...

c語言中的string,C語言中有string嗎?

string 程式語言中的字串 c語言中有string嗎?一直以來對這個問題都不是很清楚 只是知道c語言裡有 型別,可以通過下面這種形式來宣告string的變數 string astring 後來程式設計時發現通不過編譯,又查資料才知道原來c語言裡壓根就沒有string這個型別,所以字串都是通過ch...