C語言指標 二 3分鐘學會多級指標

2021-10-25 11:03:32 字數 867 閱讀 7618

首先,我們先以乙個簡單的例子回顧一級指標的知識指標基本介紹

定義 int a=3;

計算機給我們開闢了乙個記憶體空間,裡面放入3這個整數,這個記憶體空間的位址是&a;

定義指標int *p=&a;

計算機給我們開闢了乙個記憶體空間,裡面放入&a,這個記憶體空間的位址是&p;

我們可以通過*p來訪問a的值,*p的意思是取出指標p指向的變數a的值;

注意定義時候的*p 和定義後使用 *p的區別;

定義普通變數時,開闢的記憶體空間,裡面存放的是乙個普通的數值;

定義指標變數時,開闢的記憶體空間,裡面存放的是乙個位址;

現在我們引入二級指標:

首先定義乙個二級指標:int **p1;

這和我們定義一級指標一樣,計算機也會給我們開闢乙個記憶體空間,它的位址也是通過&p1檢視。

按照我們之前的邏輯,* p存放的是普通變數的位址,那**p存放的是什麼?沒錯,就是比它低一級指標的位址,也就是*p的位址。

和前面一樣,賦值就這麼寫:p1=&p;

這時候我們的二級指標就指向一級指標了!

同樣,我們可以想一下,**指標是不是存放的是二級指標的位址?n級指標是不是存放的是n-1級指標的位址?沒錯,就是套娃。

我們以乙個簡單的例子來研究下二級指標:

#include

intmain()

執行結果:

大家看懂這個例子,就掌握了二級指標,其實也就等於掌握了多級指標,因為本來就是套娃而已。

《轉》C語言指標5分鐘教程

什麼是指標?什麼是記憶體位址?什麼叫做指標的取值?指標是乙個儲存計算機記憶體位址的變數。在這份教程裡 引用 表示計算機記憶體位址。從指標指向的記憶體讀取資料稱作指標的取值。指標可以指向某些具體型別的變數位址,例如int long和double。指標也可以是void型別 null指標和未初始化指標。本...

3分鐘學會氣泡排序

思路 兩個元素比較,大的放到右邊 從頭開始依次比較相鄰的兩個元素,目的是找出最大的乙個元素放到末尾,這個元素不再參與比較 第二次仍然從頭開始,把第二大的元素放到正確的位置 一共比較 len 1 趟,因為已經確定了 len 1 個元素的位置,那麼第 n 個肯定是最小的那個了 第 i 趟的比較次數為 l...

3分鐘學會sessionStorage用法

前言 是什麼需求呢?需求方要求使用者在乙個列表頁瀏覽時,點選乙個列表進入詳情頁,返回要求記錄使用者剛剛瀏覽的位置,而不是重新重新整理頁面到了頁面頂部。ps 如果使用者好不容易翻到了第幾 十 幾百乃至幾千條時,難道要使用者再重頭開始?可能這個時候跳出率就高了,這個分析的確挺有道理,無力反駁.那麼開始腦...