在C語言中什麼是指針
1. 在c語言中什麼是指針
指針是C語言裡面的一個重要概念,也是C語言的難點之一.指針可以表示許多復雜的數據結構,如隊列,棧,鏈表,樹,圖等.
要學習指針,應該先了解以下幾個概念:變數的地址,變數的內容,直接定址,間接定址.
變數的地址:變數在內存中所佔存儲空間的首地址.
變數的內容:變數在內存的存儲單元中存放的數據.
如:
int a=10;//兩個位元組
假設a占的內存單元的地址為:2020和2021
則內存單元的地址為2020的是存放數據a(即10)的低位元組,內存單元的地址為2021的是存放數據a即10)的高位元組.
如果將變數a的首地址2020保存到另一個變數p中,那麼為了訪問變數a,我們可以通過變數p得到a的的地址2020,再到該地址中訪問變數a.
直接定址:直接按變數名來存取變數的內容的訪問方式.
專門用於存放地址型數據的變數是指針變數,如上面所說的p.
間接定址:通過指針變數(如P)間接存取它所指向的變數(如a)的訪問方式稱為間接定址.
在上例中,a的地址用&a表示.由於p是保存地址型數據的,所以p=a的地址=&a
在此p就叫做指針(或指針變數)
其定義如下:
int *p;
指針有好多好處:
1.為函數提供修改變數值的手段.
2.為C的動態內存分配提供支持.
3.為動態數據結構提供支持.
4.可以改善程序的效率.
2. C語言裡面指針到底是什麼意思
指針其實是一個整形變數,與其它數據不同的是,它的作用是用來存儲其它變數的地址,比如說
int
a;
int
*p
=
&a;
這裡面,a是普通的整形變數,p則是指針,用來存儲變數a的地址,
這樣做的話,就可以很容易的找到變數a所在的位置,從而得到a的值
3. 請問C語言中 指針是什麼有什麼作用請用通俗的語言解釋
通俗的說,就是你家的門牌號,
簡單地說指針就是指向變數和對象的地址。
指針的用途非常廣泛,比如如果你想通過函數改變一個變數的值,就得用指針而不能用值傳遞。還有在很多時候變數,特別是對象的數據量實在太大,程序員就會用指針來做形參,只需要傳遞一個地址就行,大大提高了效率。
以上還只是指針的初步應用,隨著你在C語言學習上的逐步深入,你會發現更多的用途的
4. C語言中的指針是什麼意思
其實與其你在這里問,還不如看一看c語言教科書,上面寫的都很詳細
以下是譚浩強版的
在計算機中,所有的數據都是存放在存儲器中的。一般把存儲器中的一個位元組稱為一個內存單元,不同的數據類型所佔用的內存單元數不等,如整型量佔2個單元,字元量佔1個單元等,在前面已有詳細的介紹。為了正確地訪問這些內存單元,必須為每個內存單元編上號。根據一個內存單元的編號即可准確地找到該內存單元。內存單元的編號也叫做地址。
既然根據內存單元的編號或地址就可以找到所需的內存單元,所以通常也把這個地址稱為指針。
內存單元的指針和內存單元的內容是兩個不同的概念。
可以用一個通俗的例子來說明它們之間的關系。我們到銀行去存取款時,
銀行工作人員將根據我們的帳號去找我們的存款單,
找到之後在存單上寫入存款、取款的金額。在這里,帳號就是存單的指針,
存款數是存單的內容。對於一個內存單元來說,單元的地址即為指針,其中存放的數據才是該單元的內容。在C語言中,允許用一個變數來存放指針,這種變數稱為指針變數。因此,一個指針變數的值就是某個內存單元的地址或稱為某內存單元的指針。
嚴格地說,一個指針是一個地址,是一個常量。而一個指針變數卻可以被賦予不同的指針值,是變數。但常把指針變數簡稱為指針。為了避免混淆,我們中約定:「指針」是指地址,是常量,「指針變數」是指取值為地址的變數。定義指針的目的是為了通過指針去訪問內存單元。
既然指針變數的值是一個地址,那麼這個地址不僅可以是變數的地址,也可以是其它數據結構的地址。在一個指針變數中存放一個數組或一個函數的首地址有何意義呢?
因為數組或函數都是連續存放的。通過訪問指針變數取得了數組或函數的首地址,也就找到了該數組或函數。這樣一來,凡是出現數組,函數的地方都可以用一個指針變數來表示,只要該指針變數中賦予數組或函數的首地址即可。這樣做,將會使程序的概念十分清楚,程序本身也精練,高效。在C語言中,一種數據類型或數據結構往往都佔有一組連續的內存單元。
用「地址」這個概念並不能很好地描述一種數據類型或數據結構,而「指針」雖然實際上也是一個地址,但它卻是一個數據結構的首地址,它是「指向」一個數據結構的,因而概念更為清楚,表示更為明確。
這也是引入「指針」概念的一個重要原因。
5. C語言中指針是什麼
我們都知道:C語言中的數組是指 一類 類型,數組具體區分為 int 類型數組,double類型數組,char數組 等等。同樣指針 這個概念也泛指 一類
數據類型,int指針類型,double指針類型,char指針類型等等。
通常,我們用int類型保存一些整型的數據,如 int num = 97 , 我們也會用char來存儲字元: char ch = 'a'。
我們也必須知道:任何程序數據載入內存後,在內存都有他們的地址,這就是指針。而為了保存一個數據在內存中的地址,我們就需要指針變數。
因此:指針是程序數據在內存中的地址,而指針變數是用來保存這些地址的變數。
6. C語言的指針是什麼
計算機經常需要訪問存儲器,而存儲器單元一般都是有編號的,我們稱之為地址。
計算機用某單元的地址來訪問單元。
當我們在程序中開設變數時,計算機實際上是將分配單元的地址與你寫的變數名對應起來,再遇到這個變數就轉換成相應的地址。
當程序設計者需要使用變數地址來訪問變數時,比如用數組、結構,那麼就開設變數專門用於保存某單元的地址,這種變數就是指針變數,存儲的是其他單元的地址,用這個變數,編程者可以訪問其指向單元的內容,這也就是指針的用法。
7. C語言中指針是指的什麼
1.指針就是1個變數,他也是一個存放內容的內存空間。
2.指針存放的內容是另一個內存空間的起始地址。不同於一般變數存放的就是變數值。
3.取值操作符*對於指針的作用是取得指針變數存放的內存地址裡面的值,不加*取出的是指針變數存放的值(就是一個內存地址)
8. c語言中的「指針」是什麼
指針是C語言中廣泛使用的一種數據類型,指針的*主要出現在兩個地方首先是在指針定義時出現的*,定義時的 * 相當於標識了指針變數,即表明這是一個指針變數其次,指針在使用時也會出現 *,這里的*的取內容的意思,即把指針內存儲的東西提取出來使用