C語言 指標的定義與理解

2021-09-24 18:26:08 字數 594 閱讀 4776

指標定義格式:

型別 *指標名;

例: 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 這...