1樓:養雅韻翠風
指標是c語言的難點,很難被學生接受。本部分主要演示:指標的定義,普通變數的定義,建立關聯,直接賦值,間接賦值。為了簡便,暫時只討論整形。
設計:在組合框中選擇操作的型別,在彈出的對話方塊中做進一步的處理。二十個編輯模擬記憶體,十個為整形,十個為指標區.
由於「記憶體」的限制,很容易「記憶體不足」。二十個靜態控制項顯示變數名及模擬記憶體位址。
整形陣列記錄數值,字串陣列記錄變數名,注意對應。
定義:加上變數名,並隨機賦初值。
關聯:在對話方塊的組合框中選擇變數,前有提示資訊"=&",改變指標的值,並將相應的編輯框連線。
賦值:在個對話方塊中選擇整形變數或指標變數,並輸入值。
有必要的話,將cedit改成crichedit,用setsel反向顯示正在處理的模擬空間。
測試:1,
注意空懣狀態。
2,多次重複同一操作。
2樓:姓從蓉秘素
指標就是另乙個變數在記憶體中的位址引數,它也占用記憶體空間,裡面放的是另乙個記憶體位址
3樓:針迎秋藍曲
c語言的指標很難學,指標是乙個變數,如果指標*p,p就是位址哦,*p是變數.
4樓:睢俊能析彬
1.指標就是1個變數,他也是乙個存放內容的記憶體空間。
2.指標存放的內容是另乙個記憶體空間的起始位址。不同於一般變數存放的就是變數值。
3.取值操作符*對於指標的作用是取得指標變數存放的記憶體位址裡面的值,不加*取出的是指標變數存放的值(就是乙個記憶體位址)
上面3步,step
bystep
你就理解了.
c語言中指標是什麼
5樓:it小敏同學
我們都知道:c語言中的陣列是指 一類 型別,陣列具體區分為 int 型別陣列,double型別陣列,char陣列 等等。同樣指標 這個概念也泛指 一類
資料型別,int指標型別,double指標型別,char指標型別等等。
通常,我們用int型別儲存一些整型的資料,如 int num = 97 , 我們也會用char來儲存字元: char ch = 'a'。
6樓:匿名使用者
把儲存著位址的變數叫做指標
c語言中指標的作用是什麼?
7樓:匿名使用者
指標指向位址,指標的特性就是在位址不變的情況下,可以很方便的修改所指向的內容
最重要的應用有兩個,一是函式引數,二是函式指標函式引數:函式返回值只有乙個,如果想回傳多個引數,則必須使用指標函式指標:典型應用就是**函式(callback)
8樓:杜爺1號
簡單地說指標就是指向變數和物件的位址。
指標的用途非常廣泛,比如如果你想通過函式改變乙個變數的值,就得用指標而不能用值傳遞。還有在很多時候變數,特別是物件的資料量實在太大,程式設計師就會用指標來做形參,只需要傳遞乙個位址就行,大大提高了效率。
以上還只是指標的初步應用,隨著你在c語言學習上的逐步深入,你會發現更多的用途的。
9樓:匿名使用者
用來簡單的標示乙個位址引用。
指向變數位址,便於對變數操作。
就像桌面的快捷方式,它指向乙個真實的檔案。
就像給儲存器的某個儲存位址單元起了個名字,操作這個名字就等於操作的這個儲存位址單元,比如,要給某個儲存位址單元賦值,這時候就把值賦給,指向這個儲存位址的名字。也就是說,使用指標表示位址單元比直接用記憶體位址號表示方式,更人性化,操作更靈活。
10樓:匿名使用者
指向位址啊。
比如a是指標
*a 就是指a位址所存的數字。
呼叫其中數字。
11樓:匿名使用者
指標是一種存放另乙個變數的位址的變數。
比如申請乙個整形變數 int a = 128; 再申請乙個指標讓這個指標指向變數a.
int *p;
p = &a; //取a在記憶體中的位址,把a的位址賦給p。這樣p就指向了變數a的位址。
12樓:奧·備侖思
指標,首先從概念上是「變數」。
它存放的是記憶體位址,而不是具體資料。
13樓:天涯海角情緣在
怎麼說指標的作用呢?通俗點講就是當你用上指標的時候,你到目標地的就會有捷徑了,移動性強,可操作性很大,對於資料的刪除、插入、編輯都很方便,換成其他的,則比較麻煩。
14樓:匿名使用者
c語言中指標的作用是什麼?啊這個問題還不好一句回答。這是c本身是低階語言,能夠操動記憶體的特效決定的,早期的時候對計算機說這就是效率。
現在好像不是這樣說了,都說指標很危險,特別是在目前複雜作業系統下。
要是說作用是什麼?是求高效的低階語言特有的特質。
15樓:匿名使用者
指標啊,用來取乙個元素在記憶體中的位址
c語言中指向指標的指標是什麼意思?
16樓:禹司空
指標其實也是個變數(只要是變數就一定有相應的記憶體空間) 只是這個變數比較的特殊
它只能存放別的變數的位址 變數時在記憶體中是有位址的
變數值:是變數本身的內容
通俗來講就是說這個變數fp只能接受乙個指標變數的位址所以你看第8行在p前面加了乙個』&『取位址符號 也就是說把p這個變數的位址給了fp了fp的內容就是p的位址
1.接下來9行輸出了a的值這個直接通過變數名a就能找到該變數的位址並且直接輸出了a的值1
2.第10行你會發現輸出列表引數裡面是*p是什麼意思?其中的「*」在這裡表示指標運算子, 就是說以p的內容為位址找到該位址裡面的值 p裡面不是村的a變數的位址嗎不是嗎?
你看第7行是不是在a變數前面加了「&」取位址運算子了 所以*p就是1
3.第11行**fp 這裡出現了2個『*』號 別急 由於指標運算子的結合方向為「自右至左」所以*fp先運算那麼*fp是什麼就是一fp的內容為位址找到的變數的值是什麼 fp裡面存放著p的位址 顯然此時*fp最終變成了p這個變數的位址了
4.*(p變數的位址) 到了這一步就是說以p的內容為位址找到對應的變數了 顯然是a這個變數了
第11就是你說的指向指標的指標了。
c語言中的指標是什麼意思?
17樓:梅聽芹行採
其實與其你在這裡問,還不如看一看c語言教科書,上面寫的都很詳細
以下是譚浩強版的
在計算機中,所有的資料都是存放在儲存器中的。一般把儲存器中的乙個位元組稱為乙個記憶體單元,不同的資料型別所占用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等,在前面已有詳細的介紹。為了正確地訪問這些記憶體單元,必須為每個記憶體單元編上號。
根據乙個記憶體單元的編號即可準確地找到該記憶體單元。記憶體單元的編號也叫做位址。
既然根據記憶體單元的編號或位址就可以找到所需的記憶體單元,所以通常也把這個位址稱為指標。
記憶體單元的指標和記憶體單元的內容是兩個不同的概念。
可以用乙個通俗的例子來說明它們之間的關係。我們到銀行去訪問款時,
銀行工作人員將根據我們的帳號去找我們的存款單,
找到之後在存單上寫入存款、取款的金額。在這裡,帳號就是存單的指標,
存款數是存單的內容。對於乙個記憶體單元來說,單元的位址即為指標,其中存放的資料才是該單元的內容。在c語言中,允許用乙個變數來存放指標,這種變數稱為指標變數。
因此,乙個指標變數的值就是某個記憶體單元的位址或稱為某記憶體單元的指標。
嚴格地說,乙個指標是乙個位址,是乙個常量。而乙個指標變數卻可以被賦予不同的指標值,是變數。但常把指標變數簡稱為指標。
為了避免混淆,我們中約定:「指標」是指位址,是常量,「指標變數」是指取值為位址的變數。定義指標的目的是為了通過指標去訪問記憶體單元。
既然指標變數的值是乙個位址,那麼這個位址不僅可以是變數的位址,也可以是其它資料結構的位址。在乙個指標變數中存放乙個陣列或乙個函式的首位址有何意義呢?
因為陣列或函式都是連續存放的。通過訪問指標變數取得了陣列或函式的首位址,也就找到了該陣列或函式。這樣一來,凡是出現陣列,函式的地方都可以用乙個指標變數來表示,只要該指標變數中賦予陣列或函式的首位址即可。
這樣做,將會使程式的概念十分清楚,程式本身也精練,高效。在c語言中,一種資料型別或資料結構往往都占有一組連續的記憶體單元。
用「位址」這個概念並不能很好地描述一種資料型別或資料結構,而「指標」雖然實際上也是乙個位址,但它卻是乙個資料結構的首位址,它是「指向」乙個資料結構的,因而概念更為清楚,表示更為明確。
這也是引入「指標」概念的乙個重要原因。
18樓:司寇博敏懷影
首先,要明白指標是一種變數型別
指標裡面存有乙個位址,
這個位址裡面存有資料
因為c語言是一種強型別語言,所有的常量和變數都是分為各種型別的void
,char,
short
,int
,long,
float,
double,
(分為符號,和無符號)
struct,
union
(有部分沒列,如long
double,
long
long
,記住沒有bool型)
所以,相應的指標也有型別
指標的型別決定了其運算的方式
如short
*p;p+1;
則p所指的位址往後移動
2個位元組(ansi規定
short型別不長於32位)
char
*p;p+1;
則p所指的位址往後移動1個位元組
指標,一般用來幹什麼呢?
通常,我們寫程式,
有乙個函式a,
和乙個函式b,
當,我們需要對乙個資料進行處理,
往往要經過a和b的一系列函式的處理之後,才能得到正確的結果如果,按照普通的方式賦值,
過程是這樣的,
傳入x給a,
則將x的內容賦值乙份到y,
a對y進行處理,a執行結束,返回y值,或者不返回(丟棄)y值b對x的處理也是類似的
如果按照指標的方式處理,
過程如下:
將要處理資訊的位址告訴a,
a對儲存的資訊區域進行處理,
將要處理資訊的位址告訴b,
b對儲存的資訊區域進行處理,
可以看到,如果要實現一串處理的過程,
用普通的方式,你必須用複製,傳入,處理,返回的模式來解決而,用指標,
你只需要
通知處理區域,
處理,的模式來解決
所以,指標在這個方面的靈活度和效率更高,
至於究竟什麼情況下用,我看是這樣的
當需要傳入複雜的資料的時候,
不如傳入指標,減少複製時產生的不必要的消耗當傳入簡單資料的時候,不使用指標,
因為,你傳入內容雖不需要複製,但是指向此內容的指標變數還是需要被複製乙份的。
19樓:貫光赫施宵
指標就是位址,只要記住這句話那麼學起指標來就是比較好理解了,也不會混淆了。
20樓:薩蘊秀旁良
變數的位址就是「指標」,假設,」2「這個數,在記憶體中是存放在以2000開始的位址中,那麼2000就是2的位址,也就是指標,就好比,「房間號是幾房間」一樣,房間號就是位址,即「指標」,因為,我知道了房間號,自然就知道了是幾房間,所以,程式裡,你知道了「指標「(位址),你就知道了位址裡所儲存的值了
C語言中刪除指標用啥,C語言中指標的作用是什麼?
include 包含的標頭檔案 char p char malloc 1024 在c中使用malloc分配 free p 用來釋放記憶體空間 另外分配記憶體還專可以 屬這樣寫 char p malloc sizeof p 一般用copydelete如下 舉個簡單的例子bai int pint new...
C語言中的指標到底有什麼用,C語言中指標的作用是什麼?
所有變數值儲存在記憶體中,而每個記憶體都有乙個位址,所謂位址就是乙個整數編號,如同門牌號碼用於定位 專業術語叫定址 乙個位址對應乙個位元組 8bit 的記憶體單元。如今的編譯器,乙個整數int型別的值占用32位bit,也就是4位元組,編譯器將第乙個位元組的編號定義為該整數的位址,由於儲存位址的變數就...
關於c語言中的指標問題,關於c語言中的指標問題。
char p heir 這句話包含了2層意思,一是定義乙個指標變數p,即 char p 二是為指標變數p賦初值,即 p heir 實際是將存放字串 heir 的記憶體位址賦給p 因此這句話實際上等價於 char p p heir char p heir 這個表示定義字元指標變數p,並將存放字串 he...