指標定義格式:
型別 *指標名;
例: int *p;
指標一般用來儲存記憶體位址,我們可以對記憶體位址的內容進行修改,這種方式叫直接訪問。
每個變數和函式都有他們對應的記憶體位址,只要變數跟函式沒被釋放,則一直存在。
可以把指標理解成旅館的門牌號,而指標指向的變數可以理解成旅館的旅客。
指標使用的目的是為了節省記憶體的空間。
比如我要將乙個int a[1024]的陣列傳遞到函式b,如果函式b對陣列a進行了值傳遞,將a複製了乙份拷貝進來,那會浪費很多的效能與時間。
試想乙個,如果將a的首位址傳遞給函式b,那麼函式b就不用進行拷貝操作,直接使用陣列a的指標即可。
也可以這麼理解:
a是一名旅客住在旅館a,函式b則是旅館b,旅館b也有一名叫a的旅客,我想殺死a的旅客,所以我要得到旅館a的那個旅客的門牌號。
所以在c語言裡,陣列當作引數傳遞給另乙個函式的時候,預設傳遞的是陣列的指標。
例子:
int a =5;
int *p = &a;
//&為取位址符,取a的位址
C語言 陣列與指標的理解
include stdio.h include stdlib.h void func int a int main int argc,char argv printf the value of array name y d n y printf the value of array name y d...
C 語言 指標的概念與理解
我們知道,大多數現代計算機都將記憶體分割為位元組 byte 每個位元組儲存 8 位資訊。每個位元組都有乙個唯一的位址 可以把位址看作乙個數 我們可以把它看做乙個唯一的識別符號。這個位址是為了用來和記憶體的其他位元組相區別。這就是指標的出處了,我們雖然可以用數表示位址,為什麼不直接用普通整型變數來儲存...
C語言指標的理解
什麼是指標?指標也是一種變數,存放的是某塊記憶體的位址。我們知道,記憶體可以理解為是按位元組被分割成若干塊的,每一位元組都對應著乙個編號,並且這些編號從小到大依次排列,這個編號就是它的位址,獨一無二,而指標變數中的值就是這些編號 例如如下 的結果 include include int main 這...