wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Dynamic Memory Allocation

Total questions: 7

Worksheet time: 13mins

Name
Class
Date
1.

請輸入你的學號

4 lines
2.

本程式是否會發生 memory leak?

a)

不會

b)

會,執行第 6 行程式便會造成 memory leak。

c)

會,在離開函式 f() 前,應執行 free(mem); 以避免。

d)

會,在離開函式 main() 前,應執行 free(mem); 以避免。

3.

關於本程式的敘述,下列何者為「是」。

a)

本程式會發生 memory leak。

b)

在程式第 7 行,應增加 free(mem); 以避免 memory leak。

c)

在程式第 14 行,應改成 free(*p); 以避免 memory leak。

d)

本程式不會發生 memory leak。

4.

關於本程式的敘述,下列何者為「非」。

是「為非」、「為非」、「為非」!

a)

本程式會發生 memory leak。

b)

若在第 11 行,初始化 int *p = nullptr; 則不會發生 memory leak。

c)

若在第 7 行新增 free(mem); 則可避免 memory leak。但本程式仍有其它錯誤。

d)

第 14 行 free(p); 是一個錯誤的操作,因 p 不代表可 free() 的記憶體位址。

5.

關於本程式的敘述,下列何者為「是」。

a)

本程式可通過編譯且無執行時之錯誤。

b)

第 4 行的 int **mem 應改為 int *mem。

c)

第 6 行的 *mem 應改為 mem。

d)

第 14 行的 free(p); 應改為 free(*p);

6.

關於本程式的敘述,下列何者為「是」。

a)

第 15 行的 name 是一個指向字元的指標。

b)

程式執行完第 8 行後,會造成 memory leak。

c)

本程式邏輯與語法均正確,不會造成 memory leak。

d)

程式第 7 行 *strlen(src) 改為 *(strlen(src)+1) 後,本程式便正確無誤。

7.

關於本程式的敘述,下列何者為「是」。

a)

本程式邏輯與語法無誤,不會造成 memory leak。

b)

程式在執行完第 15 行之後,就確定會發生 memory leak。

c)

程式在執行完第 17 行之後,就確定會發生 memory leak。

d)

程式在第二次執行完第 7 行之後,就確定會發生 memory leak。