1樓:匿名使用者
在計算機中,所有的資料都是存放在儲存器中的。一般把儲存器中的一個位元組稱為一個記憶體單元,不同的資料型別所佔用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等,在前面已有詳細的介紹。為了正確地訪問這些記憶體單元,必須為每個記憶體單元編上號。
根據一個記憶體單元的編號即可準確地找到該記憶體單元。記憶體單元的編號也叫做地址。 既然根據記憶體單元的編號或地址就可以找到所需的記憶體單元,所以通常也把這個地址稱為指標。
記憶體單元的指標和記憶體單元的內容是兩個不同的概念。 可以用一個通俗的例子來說明它們之間的關係。我們到銀行去存取款時, 銀行工作人員將根據我們的帳號去找我們的存款單, 找到之後在存單上寫入存款、取款的金額。
在這裡,帳號就是存單的指標, 存款數是存單的內容。對於一個記憶體單元來說,單元的地址即為指標,其中存放的資料才是該單元的內容。在c語言中,允許用一個變數來存放指標,這種變數稱為指標變數。
因此,一個指標變數的值就是某個記憶體單元的地址或稱為某記憶體單元的指標。
圖中,設有字元變數c,其內容為「k」(ascii碼為十進位制數 75),c佔用了011a號單元(地址用十六進數表示)。設有指標變數p,內容為011a,這種情況我們稱為p指向變數c,或說p是指向變數c的指標。
嚴格地說,一個指標是一個地址,是一個常量。而一個指標變數卻可以被賦予不同的指標值,是變數。但常把指標變數簡稱為指標。
為了避免混淆,我們中約定:「指標」是指地址,是常量,「指標變數」是指取值為地址的變數。定義指標的目的是為了通過指標去訪問記憶體單元。
既然指標變數的值是一個地址,那麼這個地址不僅可以是變數的地址,也可以是其它資料結構的地址。在一個指標變數中存放一個陣列或一個函式的首地址有何意義呢? 因為陣列或函式都是連續存放的。
通過訪問指標變數取得了陣列或函式的首地址,也就找到了該陣列或函式。這樣一來,凡是出現陣列,函式的地方都可以用一個指標變數來表示,只要該指標變數中賦予陣列或函式的首地址即可。這樣做,將會使程式的概念十分清楚,程式本身也精練,高效。
在c語言中,一種資料型別或資料結構往往都佔有一組連續的記憶體單元。 用「地址」這個概念並不能很好地描述一種資料型別或資料結構,而「指標」雖然實際上也是一個地址,但它卻是一個資料結構的首地址,它是「指向」一個資料結構的,因而概念更為清楚,表示更為明確。 這也是引入「指標」概念的一個重要原因。
2樓:珊瑚海的雙魚
地址是變數的記憶體中的存放位置,c語言裡的指標是用來儲存地ua址的變數,用它可以實現傳引呼叫,在函式中改變變數的值。
建議你參看指標的方面的內容
祝你好運
c語言中&取地址是什麼意思?
3樓:匿名使用者
找到變數在記憶體空間的位置,對變數進行操作時,會找到該處。
c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。
二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言制定了一套完整的美國國家標準語法,稱為ansi c,作為c語言最初的標準。 目前2023年12月8日,國際標準化組織(iso)和國際電工委員會(iec)釋出的c11標準是c語言的第三個官方標準,也是c語言的最新標準,該標準更好的支援了漢字函式名和漢字識別符號,一定程度上實現了漢字程式設計。
4樓:符納
找到變數在記憶體空間的位置,對變數進行操作時,會找到該處
5樓:匿名使用者
&後面是個變數
每個變數對應一塊儲存空間
每個儲存空間有一個編號,也就是地址
&變數名 表示取出這個編號
變數名 表示取出這個編號所對應的儲存空間裡的值僅供參考! 呵呵
6樓:匿名使用者
&是取地址運算子,&a為變數a的地址。
c語言中<<有什麼作用?怎麼用?
7樓:圍城
這是位運算子,是對一個數的二進位制進行移位後得到一個新的數。
例如執行以下語句
int a;
a=3;
a=(a<<2);//a的二進位制是 0000 0011,這是它向左移兩位,a變成了0000 1100,後面補零
現在a就是12了
c語言中的&有什麼作用?
8樓:匿名使用者
這個得看實際情況,一般的取地址,用在指標的時候
如int n = 0,scanf("%d",&n);或者定義指標 char* p = str(或者&c)
引用 int& a = b; a就是b的別名,只是變數名不一樣,他們儲存的記憶體是一樣的,對a操作就是對b操作。
位運算操作:按位與 a & b a =5 b = 7; a & b =
a = 0000 0101
b = 0000 0111 a & b = 0000 0101 = 5
9樓:匿名使用者
1、作為「與」運算子
。比如1&0=0;1&1=1.
2、作為取地址運算子。int *p = &a。p指標指向a的地址3、引用。
比如int &a = b。a就是b的一個引用,呼叫它倆的任何一個結果是一樣的,它倆的記憶體位置一樣,就是標示符不一樣。比如「李四」又叫「小四」,指的是一個人。
10樓:匿名使用者
在c語言中&符號不止一個作用,主要看它運用在什麼地方,比較常見的是取地址的意思,如定義一個整型變數:int a;那麼&a表示取變數a在記憶體中的地址,此外它還可以表示引用。
c語言中"&取地址"是什麼意思?
11樓:少先隊o大隊長
找到變數在記憶體空間的位置,對變數進行操作時,會找到該處。
&後面是個變數。每個變數對應一塊儲存空間。每個儲存空間有一個編號,也就是地址,&變數名 表示取出這個編,變數名錶示取出這個編號所對應的儲存空間裡的值。
&是取地址運算子,&a為變數a的地址。
系統就會在記憶體中分配一個空間,*a的值就是變數a的值3; 定義一個指向整型資料的指標,作用與&相反,它是根據變數的地址取出變數的值;在編譯時就給它分配一個地址,該指標指向整型資料;&a就是2000,再把3寫入這個空間。
int *p()&是取址運算子。又如scanf("。。下面是定義和宣告中用到指標的小結int *p。
執行後p=2000;就是把a的地址2000賦給p,作用是提取一個變數的地址。&就提取它的地址,由地址找到a在記憶體中的空間。*是指標運算子。
它由n個指向整型資料的指標元素組成;,它指向一個指向整型資料的指標變數; p為指向含n個元素的一維陣列的指標變數,那麼在編譯時;%d" p為返回一個指標的函式。
如果你想系統的瞭解建議你可以看看譚浩強的《c程式設計》(第三版)這本書通俗易懂,比如是2000,p=&a,該函式返回一個整型值。int **p。
假如先定義了一個整型指標變數p。是學習c語言不錯的教材.g int a。
int (*p)()。而這個空間在記憶體中的位置就是它的地址,它會先根據&a知道a的地址。
int (*p)[n]。p是一個指標變數。int *p[n]; 定義指標陣列p,&a)。比如你定義了一個變數;當你輸入3時; p為指向函式的指標。
12樓:匿名使用者
&後面是個變數
每個變數對應一塊儲存空間
每個儲存空間有一個編號,也就是地址
&變數名 表示取出這個編號
變數名 表示取出這個編號所對應的儲存空間裡的值僅供參考! 呵呵
c語言中process什麼意思,C語言中process什麼意思
void process int a,int b,int fun 這句話的意思是宣告一個無返回值的process函式,形參為int a,int b和一個返回int的函式指標 你這來個圖裡的process只是一源個函式的名稱,bai和常用的printf,scanf在同 du一個等級,區別只是,這zhi...
C語言中語句是什麼意思,c語言中!是什麼意思?
我猜你說的是三目運算 例如c a b?a b 這個就是等同於 if a b else 對於條抄 件表示式b x y,先計算 襲條件b,然後進行判bai斷。如果b的值為true,計算dux的值,運算zhi結果為x的值 否dao則,計算y的值,運算結果為y的值。一個條件表示式絕不會既計算x,又計算y。條...
xy是什麼意思,代表什麼C語言中的
x是定義的一個指標變數,也是記憶體上的一塊空間,只不過空間裡面存放的是回 地址。其中 是指標的答一個標誌。y是一個變數,加上 後表示取得了此塊空間的地址,因此兩者是等價的。意思就是把y的地址賦值給x。int x,y x y 此時 x和y是等價的 x y?x y 在c語言中代表什麼意思 一樓說的還有點...