嵌入式開發筆試隨筆

2021-10-23 03:29:01 字數 1112 閱讀 3787

1.c++動態分配記憶體空間 : new 和 delete

int a[10]這種方式,記憶體大小需要用常量指定,比如這裡的10。不能用int m=10;int a[m]這種方式。但是int* a= new這種方式可以,因此在動態分配記憶體上,後者有非常大的優勢。

int

*a =

newint(10

);//開闢乙個int型別指標賦值給a,並位址中的內容賦值為10。

int*b =

newint

[100];

//開闢乙個大小為100的整型陣列空間。

int

* a =

newint(10

);//開闢乙個int型別指標賦值給a,並位址中的內容賦值為10。

delete a;

//釋放單個int的空間

int* b =

newint

[100];

//開闢乙個大小為100的整型陣列空間。

delete

a;//釋放int陣列空間

使用new運算子動態配置的空間,在整個程式結束後不會自動還給系統,因此需要自己使用delete歸還記憶體空間。

當由於new申請空間過大等原因導致分配記憶體失敗時,new返回乙個null。

當new申請乙個陣列時,需要用delete釋放。

delete p;只是釋放*p中的內容,而不改變指標p本身,p存放的依然是申請空間時的位址。

new和delete是c++中的運算子,不是函式

2.排序演算法

for

(int i =

0; i < len -

1; i++)}

}

for

(int i =

0; i < len -

1; i++)}

temp = arr[i]

; arr[i]

= arr[min]

; arr[min]

= temp;

}

9 6中興嵌入式軟體開發筆試

乙個舞蹈學院提供早晚課程。每個加入該學院的人都會獲得乙個唯一的id。人們可以選擇任意數量的舞蹈形式。有些在任何舞蹈形式上都不是很完美的人早晚課程都參加。舞蹈教練為參加課程的所有人員準備了乙份早晚課程的單獨列表。人員的id在列表中重複的次數與他 她選擇的舞蹈形式的數量相同。該學院計畫在年度活動中展示各...

嵌入式筆試題

考查逗號表示式 main 這段程式的輸出是 a c 3 d 3 b c 5 d 3 c c 3 d 5 d c 5 d 5 應該選c。c語言提供一種特殊的 運算子,逗號運算子,優先級別最低,它將兩式聯接起來,如 3 5,6 8 稱為逗號表示式,其求解過程先表示式1,後表示式2,整個表示式值是表示式2...

嵌入式 筆試題

指出下列程式的執行結果 int main memcpy a 3,a,5 for int i 0 i 10 i return 0 解答 0 1 2 0 1 5 6 7 8 9 注意 1 陣列a作為引數時,轉化為普通指標 a 3 按照char長度計算 2 memcpy的原型是 void memcpy v...