嵌入式培訓W2D4

2021-10-11 05:23:33 字數 2146 閱讀 4725

多級指標

這裡只介紹二級指標

所有的指標都是用來儲存位址的,只不過因為儲存位址的資料型別不同,從而產生多種指標型別。

前面說到,一級指標是用來儲存普通變數的位址,那一級指標的位址又用什麼來儲存的?自然是使用更高階的指標,也就是二級指標。高階指標也就是乙個套娃的過程。

規則: * + 位址 ->訪問位址中的內容

int data;

int*p =

&data;

int*

*q =

&p;int**

*t =

&q;

p = &a; // *p = *(&a) *p< == > a

q = &p; // q =(&p) == > *q = p; **q < == >*p < == > a

在32bit系統中,所有指標變數都是4bytes(64bit是8bytes),多級指標每次移動都是4bytes。因為乙個指標大小是4bytes。不同型別的指標,在移動的時候,每次移動的大小也是它儲存物件的大小。指標陣列本質是乙個陣列,只不過該陣列由多個指標來構成,所以我們叫指標陣列。

每個指標中存放的都是位址值,定義乙個指標陣列等價於定義了多個指標變數。

//資料型別 * 指標變數名[元素個數]

char a =

10, b =

20, c =30;

char

*array=

;

array[0] = &a;

*array[0] = *(&a) = a = 10;

array < == > &array[0] < == > &(&a)

**array < == > a

那麼指標陣列的首位址應該用什麼指標變數來儲存呢?儲存指標位址自然是更高階的指標,所以應當定義二級指標來儲存。

array < == > &array[0]

array[0]的型別是char *

&array[0]應該定義 char ** 的型別來儲存

char **q = array;// q< == > array

陣列指標前面所學的一級指標都指向乙個變數,要是指向多個變數組成的陣列,我們就叫它陣列指標。本質上是乙個指標,只不過該指標指向乙個陣列。

// 資料型別 (*指標變數名)[元素個數]

int(

*p)[

5]

陣列指標用於二維陣列的行指標,何為行指標?

指標和二維陣列

a[0],a[1],a[2]就是這個二維陣列的行指標

a < == > &a[0]

a + 1 < = = > &a[0] + 1 < == >a[1] (一次偏移兩個元素大小,也就是一行)

a[0] < == > &a[0][0]

a[0] + 1 < == > &a[0][0] + 1 < == > &a[0][1](一次移動乙個元素大小,移動一列)

(這裡的移動一列是對於上圖而言的,實際上就是移動乙個元素大小)

總結:

行指標:a,a + 1,a + 2我們叫做行常量指標,簡稱行指標,每次移動一行元素大小

列指標:a[0],a[1],a[2]我們叫做列常量指標,簡稱列指標,每次移動一列的大小,即乙個元素的大小

行指標 + * —>列指標

列指標 + & —>行指標

列指標 + * —>獲得資料

嵌入式培訓W3D3

磁碟掛載指令 sudo mount 裝置檔名 掛載點目錄 linux並不像 windows一樣可以直接操作接入的裝置。linux下一切皆檔案,需要使用乙個目錄檔案和接入的裝置建立對應關係,將接入的裝置也抽象成為乙個檔案,通過操作掛載目錄對裝置進行修改。檢視磁碟分割槽 sudo fdisk l 檢視磁...

嵌入式培訓學校怎麼選?嵌入式培訓學什麼

嵌入式系統是當前熱門 具發展前景的it應用領域之一,很多數字包括手機 電子字典 可視 數字相機 數字攝像機 機頂盒 智慧型玩具醫療儀器和航空航天裝置等都是典型的嵌入式系統。目前嵌入式人才匱乏,一些權威部門統計,我國目前嵌入式軟體人才缺口每年為50萬人左右,嵌入式人才供給一直處於供不應求的狀態,所以很...

嵌入式學習培訓能學會嗎?嵌入式開發培訓都要學什麼?

嵌入式學習培訓能學會嗎?嵌入式開發培訓都要學什麼?掌握linux常用操作命令,與系統管理 理解嵌入式系統程序管理,檔案管理,linux核心 熟悉arm在不同硬體平台下的作業系統移植和裝置驅動檔案管理等相關知識,學習qt程式開發,進行嵌入式系統程式的除錯。學會嵌入式開發的分析問題 解決問題的思維方法,...