c語言中用指標的好處有哪些C語言中指標的作用是什麼?

2021-03-04 07:45:04 字數 6436 閱讀 2794

1樓:匿名使用者

指標非常的好,它把相同的事物歸類,然後把事物做出標記,避免給相同的特點做變數。比如說你和你同學,你們兩個人都有心臟、肝、肺等器官,如果命名心臟1、心臟2這樣比較麻煩,這時如果用上指標,指向你說心臟時說的是你的心臟,指向你同學時說的是你同學的心臟,如果人非常的多,你不用指標,那麼命名心臟1、2、3、4、5.。。。那是非常的多的不必要的變數。

我現在運用plc和wincc連線時有的時候就用指標。節省了通訊時間,省略了很多的變數。

2樓:匿名使用者

c語言指標的作用很多,指標可以直接操作記憶體,理解為直接操作記憶體的優點有哪些。

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

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

3樓:香帥之楓

所有的資料都是放在記憶體空間上的,一般不用指標用變數的話,你需要自動分配空間給你的變數來進行運算元據。而一旦使用了指標,你就可以直接在記憶體空間上進行操作,而不需要考慮資料變數的問題。你只要知道指標地址就可以進行操作

c語言中指標的作用是什麼?

4樓:匿名使用者

指標指向地址,指標的特性就是在地址不變的情況下,可以很方便的修改所指向的內容

最重要的應用有兩個,一是函式引數,二是函式指標函式引數:函式返回值只有一個,如果想回傳多個引數,則必須使用指標函式指標:典型應用就是**函式(callback)

5樓:杜爺1號

簡單地說指標就是指向變數和物件的地址。

指標的用途非常廣泛,比如如果你想通過函式改變一個變數的值,就得用指標而不能用值傳遞。還有在很多時候變數,特別是物件的資料量實在太大,程式設計師就會用指標來做形參,只需要傳遞一個地址就行,大大提高了效率。

以上還只是指標的初步應用,隨著你在c語言學習上的逐步深入,你會發現更多的用途的。

6樓:匿名使用者

用來簡單的標示一個地址引用。

指向變數地址,便於對變數操作。

就像桌面的快捷方式,它指向一個真實的檔案。

就像給儲存器的某個儲存地址單元起了個名字,操作這個名字就等於操作的這個儲存地址單元,比如,要給某個儲存地址單元賦值,這時候就把值賦給,指向這個儲存地址的名字。也就是說,使用指標表示地址單元比直接用記憶體地址號表示方式,更人性化,操作更靈活。

7樓:匿名使用者

指向地址啊。

比如a是指標

*a 就是指a地址所存的數字。

呼叫其中數字。

8樓:匿名使用者

指標是一種存放另一個變數的地址的變數。

比如申請一個整形變數 int a = 128; 再申請一個指標讓這個指標指向變數a.

int *p;

p = &a; //取a在記憶體中的地址,把a的地址賦給p。這樣p就指向了變數a的地址。

9樓:奧·備侖思

指標,首先從概念上是「變數」。

它存放的是記憶體地址,而不是具體資料。

10樓:天涯海角情緣在

怎麼說指標的作用呢?通俗點講就是當你用上指標的時候,你到目標地的就會有捷徑了,移動性強,可操作性很大,對於資料的刪除、插入、編輯都很方便,換成其他的,則比較麻煩。

11樓:匿名使用者

c語言中指標的作用是什麼?啊這個問題還不好一句回答。這是c本身是低階語言,能夠操動記憶體的特效決定的,早期的時候對計算機說這就是效率。

現在好像不是這樣說了,都說指標很危險,特別是在目前複雜作業系統下。

要是說作用是什麼?是求高效的低階語言特有的特質。

12樓:匿名使用者

指標啊,用來取一個元素在記憶體中的地址

請問c語言中 指標是什麼?有什麼作用?請用通俗的語言解釋

13樓:匿名使用者

通俗的說,就是你家的門牌號,

簡單地說指標就是指向變數和物件的地址。

指標的用途非常廣泛,比如如果你想通過函式改變一個變數的值,就得用指標而不能用值傳遞。還有在很多時候變數,特別是物件的資料量實在太大,程式設計師就會用指標來做形參,只需要傳遞一個地址就行,大大提高了效率。

以上還只是指標的初步應用,隨著你在c語言學習上的逐步深入,你會發現更多的用途的

14樓:笛芭訪

c語言中,指標變數代表的是一個地址,這個地址可以是變數的,也可以是涵數的,陣列的等等,這樣我們通過指標變數就可以訪問到變數地址中存放的內容,或是呼叫函式等,它非常靈活,具體的好處在程式設計中你才能慢慢體會到的,好好學習吧。

15樓:匿名使用者

在電腦裡定義一個量時會在記憶體中申請一的地址來存放這個值,

而指標就是一個存放值的地址的變數求採納

c語言的指標有什麼優缺點?

16樓:愛夏的你呀

1、指標的優點

是標識一塊記憶體。電腦記憶體上的每一個位元組都具有一個編號,稱為地址(可以簡單理解為指標),任何讀寫記憶體的指令都必須攜帶地址資訊,否則電腦不知道讀寫那塊記憶體。

不管程式是用什麼語言寫的,要執行資料和**必須駐留記憶體,cpu要執行指令必須有一個「指標」程式計數器指向記憶體的**塊,如果某個指令要操作記憶體資料,該指令必須攜帶額外的地址資訊。

2、指標的缺點

指標可以操作任何東西,所以指標很靈活、很強大,但也引入了複雜性。

擴充套件資料

1、指標利用地址,它的值直接指向(points to)存在電腦儲存器中另一個地方的值。由於通過地址能找到所需的變數單元,可以說,地址指向該變數單元。

2、輸出一串字元時,只需要知道它的第一個字元的地址,就可以將這個字串輸出,而第一個字元的地址,可以用指標儲存。所以有n個字串時,就可以用n個指標來儲存。

3、為了儲存一個資料在記憶體中的地址,就需要指標變數。因此指標是程式資料在記憶體中的地址,而指標變數是用來儲存這些地址的變數。

17樓:文化廚子

指標是c語言只所以如此成功的重要原因之一,當然任何事物,往往都是一體兩面的,本質上是一體,看上去是兩面,關鍵是要活學活用,沒比較過分的區別優點、缺點。

c語言主要是針對硬體及系統底層程式設計的,在針對硬體及系統底層程式設計中,對資料的靈活性要求較高,換句話說資料的意義需要經常變動,而資料型別決定了資料的意義,指標一個重要作用是實現對資料型別的轉換,比如要將機器碼為0x3f8ccccd表示成浮點數:

#include

int main()

指標這種能改變資料上下文環境的能力是非常有用的, 比如檢測cpu所支援的儲存順序。

#include

char endian(void)

int main()

如果c語言沒有指標,當然可以想出其它的方法,但是遠沒有指標方便。

指標的缺點,可能對於初學者來說 ,往往不容易理解,而且使用指標程式設計經常會出現一些莫名其妙的錯誤,而且在平時使用c語言進行應用程式開發時,好像指標真的不怎麼有用,這些都不是問題,關鍵是看個人學習c語言的用處,做什麼開發,上什麼專案。

18樓:51cto學院

記憶體對齊的緣故。

p_buf 作為一個指標,它的值是記憶體的某個位元組的地址。

如果想要把 p_buf 強制轉換成一個 unsigned int*型別的指標,

需要滿足一個必要條件,就是 p_buf 的值必須能夠被4整除。(之所以是4,是因為 unsigned int 是要佔4個位元組的)。

19樓:匿名使用者

說那麼多幹什麼勒..

指標我覺得是畫蛇添足..沒有什麼好與不好.

可的情況還是需要用指標,不過覺得不多.

c語言中一個程式用指標有什麼優勢麼?

20樓:匿名使用者

指標可以方便地訪問字串

我們程式執行的時候可使用的記憶體可以分成棧和堆。

堆的空間很大,用指標可以很方便地操作堆。

選擇法與冒泡本質沒有什麼區別,唯一優勢可以少做幾次交換。

21樓:神一樣的程式設計師

可以直接讀取記憶體上的資料,可以增加程式的效能,可以裝b

排序中,冒泡法我覺得是平均下來最慢的演算法,因為它要遍歷所有元素

22樓:匿名使用者

嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦嚕啦啦

23樓:匿名使用者

訪問時快一些,訪問量越大你覺得越明顯,估計就是這個效果

24樓:匿名使用者

選擇更節省時間啊,指標比較高效 大概就這樣吧

c語言指標的作用有哪些?

25樓:嘩嘩嘩嘩

指標的用途非常廣泛,比如如果你想通過函式改變一個變數的值,就得用指標而不能用值傳遞。還有在很多時候變數,特別是物件的資料量實在太大,程式設計師就會用指標來做形參,只需要傳遞一個地址就行,大大提高了效率。簡單地說指標就是指向變數和物件的地址。

基本說明:

1、在計算機中,所有的資料都是存放在儲存器中的。 一般把儲存器中的一個位元組稱為一個記憶體單元, 不同的資料型別所佔用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等;

2、為了正確地訪問這些記憶體單元,須為每個記憶體單元編上號。 根據一個記憶體單元的編號即可準確地找到該記憶體單元。既然根據記憶體單元的編號或地址就可以找到所需的記憶體單元,所以通常也把這個地址稱為指標。

記憶體單元的指標和記憶體單元的內容是兩個不同的概念。

26樓:張簡元芹是群

指標是c語言中廣泛使用的一種資料型別。

運用指標程式設計是c語言最主要的風格之一。利用指標變數可以表示各種資料結構;

能很方便地使用陣列和字串;

並能象組合語言一樣處理記憶體地址,從而編出精練而高效的程式。指標極大地豐富了c語言的功能。

學習指標是學習c語言中最重要的一環,

能否正確理解和使用指標是我們是否掌握c語言的一個標誌。同時,

指標也是c語言中最為困難的一部分,在學習中除了要正確理解基本概念,還必須要多程式設計,上機除錯。只要作到這些,指標也是不難掌握的。

指標的基本概念

在計算機中,所有的資料都是存放在儲存器中的。

一般把儲存器中的一個位元組稱為一個記憶體單元,

不同的資料型別所佔用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等,

在第二章中已有詳細的介紹。為了正確地訪問這些記憶體單元,

必須為每個記憶體單元編上號。

根據一個記憶體單元的編號即可準確地找到該記憶體單元。記憶體單元的編號也叫做地址。

既然根據記憶體單元的編號或地址就可以找到所需的記憶體單元,所以通常也把這個地址稱為指標。

記憶體單元的指標和記憶體單元的內容是兩個不同的概念。

可以用一個通俗的例子來說明它們之間的關係。我們到銀行去存取款時,

銀行工作人員將根據我們的帳號去找我們的存款單,

找到之後在存單上寫入存款、取款的金額。在這裡,帳號就是存單的指標,

存款數是存單的內容。對於一個記憶體單元來說,單元的地址即為指標,

其中存放的資料才是該單元的內容。在c語言中,

允許用一個變數來存放指標,這種變數稱為指標變數。因此,

一個指標變數的值就是某個記憶體單元的地址或稱為某記憶體單元的指標。圖中,設有字元變數c,其內容為「k」(ascii碼為十進位制數

75),c佔用了011a號單元(地址用十六進數表示)。設有指標變數p,內容為011a,

這種情況我們稱為p指向變數c,或說p是指向變數c的指標。

嚴格地說,一個指標是一個地址,

是一個常量。而一個指標變數卻可以被賦予不同的指標值,是變。

但在常把指標變數簡稱為指標。為了避免混淆,我們中約定:「指標」是指地址,

是常量,「指標變數」是指取值為地址的變數。

定義指標的目的是為了通過指標去訪問記憶體單元。

既然指標變數的值是一個地址,

那麼這個地址不僅可以是變數的地址,

也可以是其它資料結構的地址。在一個指標變數中存放一

個陣列或一個函式的首地址有何意義呢?

因為陣列或函式都是連續存放的。通過訪問指標變數取得了陣列或函式的首地址,

也就找到了該陣列或函式。這樣一來,

凡是出現陣列,函式的地方都可以用一個指標變數來表示,

只要該指標變數中賦予陣列或函式的首地址即可。這樣做,

將會使程式的概念十分清楚,程式本身也精練,高效。在c語言中,

一種資料型別或資料結構往往都佔有一組連續的記憶體單元。

用「地址」這個概念並不能很好地描述一種資料型別或資料結構,

而「指標」雖然實際上也是一個地址,但它卻是一個資料結構的首地址,

它是「指向」一個資料結構的,因而概念更為清楚,表示更為明確。

這也是引入「指標」概念的一個重要原因。

C語言指標函式,c語言中指標怎麼使用?

應該是的,還可以用f a i 的形式。去程式設計嗎?我學這些的是一頭霧水。c語言中指標怎麼使用?1 使用場景 使用指標時,必須將它指向一個變數的地址或者為它分配 空間方能使用,如下所示 include include int main int argc,char const argv int b,d...

c語言中關於指向陣列的指標C語言中關於指向陣列的指標

char str 100 char pi str 相當於char pi pi str char ppi pi 這個地方抄錯了。應為char ppi pi 定義加 表明這是指標型別的變數 用的時候,就是用的指標,加 幹什麼。只有取指標所指變數的值,或給指標所指的變數賦值的等涉及指標所指的變數的時候,才...

C語言中的初等運算子有哪些c語言中有哪些運算子,各有什麼功能?

1級 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子。2級 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正號運算子 負號運算子 型別 型別轉換運算子 指標運算子 地址運算子 sizeof長度運算子。3級 左結合 乘法運算子 除法運算子 取餘運算子。4級 ...