首先,我們先以乙個簡單的例子回顧一級指標的知識指標基本介紹
定義 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 如果使用者好不容易翻到了第幾 十 幾百乃至幾千條時,難道要使用者再重頭開始?可能這個時候跳出率就高了,這個分析的確挺有道理,無力反駁.那麼開始腦...