嵌入式Linux基礎 陣列的常見問題

2021-08-16 10:19:54 字數 857 閱讀 3978

1.c語言處理陣列優點。

①除少數編譯器出於謹慎考慮會做一些繁瑣的規定外,c語言的陣列下標是在乙個很低的層次上處理的。

②陣列和指標能非常和諧地在一起工作。

③將陣列作為引數傳遞給函式時可以使用值傳遞和位址傳遞兩種方式,前者需要完整的複製初始陣列,但比較安全;後者的速度要快得多。

2.陣列的下標

陣列的下標總是從0開始,a[0]~a[max-1]。a[max]是乙個有效位址,但該位址的值,並不在陣列a中。

3.可以使用陣列後面第乙個元素的位址嗎?

可以使用,但不可以檢視該位址的值。假如你將某些資料存入a[max]中,往往會破壞原來緊跟在陣列a後面的資料。

4.陣列作為引數傳遞給函式時,可以通過sizeof得到陣列的大小嗎?

不可以,陣列引數相當於指向該陣列第乙個元素的指標,你無法在程式執行時通過陣列引數本身告訴函式該陣列的大小。

5.指標或帶下標的陣列名都可以訪問元素,哪一種更好。

與下標相比,使用指標能使c編譯程式更輕易地產生優質**。

6.可以把另外乙個位址賦給乙個陣列名嗎?

不可以,陣列名不可以被放在賦值運算子的左邊,。乙個陣列是乙個物件,而它的陣列名就是指向這個物件的第一元素的指標。

7.array_name和&array_name的區別

前者是指向陣列中的第乙個元素的指標,後者是指向整個陣列的指標。

8.為什麼用const說明的常量不能用來定義乙個陣列的初始大小

並不是所有的常量都可以用來定義乙個陣列的初始大小,在c程式中,只有c語言的常量表示式才能用來定義乙個陣列的初始大小。

9.字串和陣列有什麼不同?

陣列的元素可以是任意一種型別,而字串是一種特別的陣列,它使用了一種眾所周知、確定長度的規則。

嵌入式linux基礎

缺頁中斷和時鐘中斷都屬於中斷,在核心態執行。程序排程屬於系統呼叫,在核心態執行,命令解釋程式屬於命令介面,在使用者態執行。1 insmod和modprobe都可以用來載入驅動模組,請描述這兩者的差異。2 請給出三種以上linux驅動模組載入失敗的可能原因。1 modprobe和insmod類似,都是...

嵌入式linux基礎

一 嵌入式系統定義 嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能,可靠性,成本,體積,功耗有嚴格要求的專用計算機系統。二 嵌入式學習的重點 1 站在全域性進行領會,不糾纏細節 2 了解嵌入式系統開發的流程 3 學習嵌入式系統開發的理念 4 了解嵌入式系統開發的...

嵌入式基礎

以應用為中心 以計算機技術為基礎,軟硬體可裁剪,應用系統對功能 可靠性 成本 體積 功耗和應用環境有特殊要求的專用計算機系統。是將應用程式 作業系統和計算機硬體整合在一起的系統。1.嵌入式系統的構成 嵌入式微處理器 嵌入式作業系統 外圍應用裝置 應用軟體系統。2.嵌入式處理器 嵌入式微處理器 嵌入式...