❶ c語言的指針有什麼用
C裡面函數都只能返回一個值,如果你的函數要返回兩個值,那就要用指針了,把變數地址傳進函數,然後把希望通過函數操作後想要的值存進傳進來的變數地址裡面。當然函數可以返回數組,結構體,但是你看多了你就知道,沒有人會這么做的,都返回指針。試想如果我有一個1萬個元素的數組,你會把它整個地傳進一個函數裡面或者整個地返回出來嗎?C語言裡面都是傳值的,就是說傳進函數的參數值首先被復制一邊賦值給形式參數,你想想1萬個元素,夠嗆咯!但是有指針就好多了,我們可以把指針(數組的第一個元素的地址)傳進函數裡面,有了開始地址,函數就知道東西在哪兒,就直接去那兒操作就可以了。單憑這一點,你就可以知道指針的威力,當然你也知道了指針一個很大的用處就是用於函數之間參數的傳遞與返回。指針就相當於一個代理一樣,通過代理你知道了你要的東西在哪兒,你去那個地方就可以了,而不是需要把東西整個地板到你面前。
❷ 論述C語言中指針的概念和作用,並舉例說明
1、指針概念:變數的地址(計算機內存位元組的編號)叫做指針,存放變數地址的變數叫指針變
量,
簡言之,指針是用來存放地址的。
2、作用:指向這個變數或數組的首地址,是變數的間接引用方式。其值如果改變,變數的值或數組元素的值也會跟著改變。程序對變數的操作實際上是對變數所在的存儲空間讀取和寫入數據。方便對變數的操作。
舉例說明:
int
a=3;/*定義一個整型變數a,並賦初值3*/
int
*p;/*定義一個指針變數P*/
p=&a;/*讓p指向a的首地址,也就是a的地址*/
程序為a分配一個2個位元組的存儲單元,假如2個位元組的地址分別為(ABCD1和ABCD2,唯一),那麼p裡面放的值就是ABCD1,不是3。這時可通過p直接引用a,實際上*p=3。以後不管a存放在內存中的哪個地方,只用通過調用p就可以引用a。這時如果令*p=4,則最後的a值也為4。對於數組,指針是指向數組的首地址。
❸ C語言指針基本概念及其指針變數的定義是什麼
指針是常見間接訪問方式.指針就像一個快捷方式,它指向內存的一個地址,可以通過指針就可以間接的訪問到數據。對於計算機,訪問內存的方式有兩種,直接訪問和間接訪問。直接訪問通過就是通過變數名稱去訪問。指針概念是構成C/C++的重要元素之一,是變數的一種類型,存放的是指定類型數據的地址,而同類型變數存放的是數據。
指針變數:就是一個變數,其值是可變的,與整形變數、浮點變數等等的命名規則完全相同。 「指針」是概念,「指針變數」是具體實現。指針類型說明,即定義變數為一個指針變數; 指針變數名; 變數值(指針)所指向的變數的數據類型。
(3)c語言指針的意義擴展閱讀:
與其他高級編程語言相比,C 語言可以更高效地對計算機硬體進行操作,而計算機硬體的操作指令,在很大程度上依賴於地址。指針提供了對地址操作的一種方法,因此,使用指針可使得 C 語言能夠更高效地實現對計算機底層硬體的操作。另外,通過指針可以更便捷地操作數組。在一定意義上可以說,指針是 C 語言的精髓。
❹ C語言中指針是什麼意思
1.指針就是1個變數,他也是一個存放內容的內存空間。
2.指針存放的內容是另一個內存空間的起始地址。不同於一般變數存放的就是變數值。
3.取值操作符*對於指針的作用是取得指針變數存放的內存地址裡面的值,不加*取出的是指針變數存放的值(就是一個內存地址)
上面3步,step by step 你就理解了.
❺ 請問C語言中 指針是什麼有什麼作用請用通俗的語言解釋
通俗的說,就是你家的門牌號,
簡單地說指針就是指向變數和對象的地址。
指針的用途非常廣泛,比如如果你想通過函數改變一個變數的值,就得用指針而不能用值傳遞。還有在很多時候變數,特別是對象的數據量實在太大,程序員就會用指針來做形參,只需要傳遞一個地址就行,大大提高了效率。
以上還只是指針的初步應用,隨著你在C語言學習上的逐步深入,你會發現更多的用途的
❻ C語言中的指針是什麼意思
其實與其你在這里問,還不如看一看c語言教科書,上面寫的都很詳細
以下是譚浩強版的
在計算機中,所有的數據都是存放在存儲器中的。一般把存儲器中的一個位元組稱為一個內存單元,不同的數據類型所佔用的內存單元數不等,如整型量佔2個單元,字元量佔1個單元等,在前面已有詳細的介紹。為了正確地訪問這些內存單元,必須為每個內存單元編上號。根據一個內存單元的編號即可准確地找到該內存單元。內存單元的編號也叫做地址。
既然根據內存單元的編號或地址就可以找到所需的內存單元,所以通常也把這個地址稱為指針。
內存單元的指針和內存單元的內容是兩個不同的概念。
可以用一個通俗的例子來說明它們之間的關系。我們到銀行去存取款時,
銀行工作人員將根據我們的帳號去找我們的存款單,
找到之後在存單上寫入存款、取款的金額。在這里,帳號就是存單的指針,
存款數是存單的內容。對於一個內存單元來說,單元的地址即為指針,其中存放的數據才是該單元的內容。在C語言中,允許用一個變數來存放指針,這種變數稱為指針變數。因此,一個指針變數的值就是某個內存單元的地址或稱為某內存單元的指針。
嚴格地說,一個指針是一個地址,是一個常量。而一個指針變數卻可以被賦予不同的指針值,是變數。但常把指針變數簡稱為指針。為了避免混淆,我們中約定:「指針」是指地址,是常量,「指針變數」是指取值為地址的變數。定義指針的目的是為了通過指針去訪問內存單元。
既然指針變數的值是一個地址,那麼這個地址不僅可以是變數的地址,也可以是其它數據結構的地址。在一個指針變數中存放一個數組或一個函數的首地址有何意義呢?
因為數組或函數都是連續存放的。通過訪問指針變數取得了數組或函數的首地址,也就找到了該數組或函數。這樣一來,凡是出現數組,函數的地方都可以用一個指針變數來表示,只要該指針變數中賦予數組或函數的首地址即可。這樣做,將會使程序的概念十分清楚,程序本身也精練,高效。在C語言中,一種數據類型或數據結構往往都佔有一組連續的內存單元。
用「地址」這個概念並不能很好地描述一種數據類型或數據結構,而「指針」雖然實際上也是一個地址,但它卻是一個數據結構的首地址,它是「指向」一個數據結構的,因而概念更為清楚,表示更為明確。
這也是引入「指針」概念的一個重要原因。