司法三等申論題
106年
[檢察事務官電子資訊組] 程式語言
第 一 題
一、程式在計算機裡執行的時候,必須妥善安排變數的放置區塊。不同種類的變數應安置於不同的區塊,以便管理,增進程式執行的效率。下列程式裡的七個變數 a, b, c, d, e, f, *f 各應置於何處?(20 分)
#include
int a;
static int b;
int foo (int c) {
int d , *f;
static int e;
b = 2 * c;
d = a + b + c;
e = d * 3;
f = (int *)malloc(sizeof(int));
*f = e + 7 ;
return e * 5 ;
}
int main(){
a = 5;
b = 4;
a = foo(b);
}
📝 此題為申論題
思路引導 VIP
看到此題,應先辨識程式中各變數的宣告位置與儲存類別(如全域、靜態、區域、動態配置)。接著將其對應至程式執行時的記憶體區段:Data/BSS Segment(全域/靜態)、Stack(區域/參數)、Heap(動態配置)。
🤖
AI 詳解
AI 專屬家教
【破題】本題測驗 C 語言程式在執行期(Runtime)的記憶體空間配置概念。程式的記憶體主要分為程式碼段(Text Segment)、資料段(Data/BSS Segment)、堆疊段(Stack)與堆積段(Heap),不同生命週期與作用域的變數會被配置於對應的區塊。 【論述】 一、記憶體區段定義與運作原理
▼ 還有更多解析內容