指標 指標是什麼,指標和指標的型別

2021-09-19 07:53:45 字數 1275 閱讀 8814

指標(pointer)是程式語言中的乙個物件,利用位址,它的值直接指向(pointed to)存在電腦儲存器中另乙個地方的值。也就是通過位址可以找到所需的變數單元,可以說,位址指向該變數單元。

舉例說明:

#include #include int main()
總結一下,其實指標就是變數,用來存放位址的變數(存放在指標中的值都當成位址處理)

#include #include int main()
我們都知道,變數有不同的型別,整型,浮點型等等。那指標有沒有型別呢?其實是有的!比如

int num = 10;

p = #

char* pc = null;

int* pi = null;

short* ps = null;

long* pl = null;

float* pf = null;

double* pd = null;

不難看出,指標型別的定義方式就是type + *。其實上面**中char*就是為了存放char型別變數的位址,short*就是為了存放short型別變數的位址。其他同樣。

來看乙個例項:

從結果中我們不難看出,指標的型別決定了指標向前或者向後走一步有多大距離。

這裡我們在使用指標時要注意,**不能寫成下面這樣:

int* p = 10;

printf("%d\n",*p);

//這樣程式會崩潰,屬於c語言未定義行為

關於指標的解引用

#include #include int main()
結果如下圖所示:

要注意指標的型別決定了,對指標解引用的時候能有多大許可權(能操作幾個位元組)。比如說char的指標解引用就只能訪問乙個位元組,但是int的指標解引用就能訪問四個位元組。比如同樣的程式修改為下面這樣:

#include #include int main()
最後結果就變為0了;

指標和指標的指標

int main void 首先在vc6.0裡面新建乙個c 控制台工程,然後鍵入以上 最後按f10進行除錯。在watch視窗中鍵入如上圖所示變數資訊,首先,對於第一行data 5沒問題 然後對data變數採用取位址符 倒數第三行 data 0x0012ff7c,也即data存放的記憶體位址為0x00...

指標和指標的指標

drzy 在說指向指標的指標之前,不得不說指向變數的指標。先看如下示例 1.指向整型指標 先看如下示例 1 include 2 using namespace std 3 4 int main 5 執行結果如下 由上圖可以清楚的知道,輸出整形變數a的值是5,指標變數p的值是001bfd18,而 號的...

野指標,空指標和無型別指標

一.野指標 所謂的野指標指的是乙個指標變數指向了不可使用的記憶體空間。產生野指標三個原因 1 指標變數建立時候沒有被初始化 任何指標變數在建立的時候,不會自動成為null指標,它的預設值是隨機的,因此該指標就會成為乙個野指標,可能指向一塊不可使用的記憶體空間。例如char p 這樣建立乙個指標p,指...