試題四(共20 分) 閱讀以下說明和 C 語(yǔ)言代碼, 回答問題 1 至問題3, 將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
試題四(共20 分)
閱讀以下說明和 C 語(yǔ)言代碼, 回答問題 1 至問題3, 將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
在實(shí)時(shí)系統(tǒng)中, 許多控制軟件需要將數(shù)據(jù)封裝到一個(gè)數(shù)據(jù)結(jié)構(gòu)中, 以節(jié)省存儲(chǔ)空間。對(duì)于位操作,使用匯編語(yǔ)言實(shí)現(xiàn)其訪問比較容易,但會(huì)增加編程難度,因此現(xiàn)在普遍采用 C 語(yǔ)言實(shí)現(xiàn)。使用高級(jí)語(yǔ)言編程要特別注意結(jié)構(gòu)的存儲(chǔ)格式以及編譯器的特性。本題所使用的編譯器對(duì)變量按聲明順序分配地址。分析圖 4-1所示的 C 語(yǔ)言代碼,回答以下問題。
【問題 1】 (8 分)
如果處理機(jī)按 16 位以大端方式(big_endian)編址,請(qǐng)?jiān)趫D 4-2 所示的存儲(chǔ)器圖表中填入 myRadarData 數(shù)據(jù)的存儲(chǔ)內(nèi)容(十六進(jìn)制表示)。
【問題 2】 (8分)
在圖 4-1 所示的程序中,第 22 行的語(yǔ)句執(zhí)行完成后,下列語(yǔ)句的結(jié)果是多少?請(qǐng)將應(yīng)填入(n)處的內(nèi)容寫在答題紙的對(duì)應(yīng)欄中。
q->X = (1)
q->Y = (2)
q->Z = (3)
q->U = (4)
若再執(zhí)行一次q++,則下列語(yǔ)句的結(jié)果又是多少?請(qǐng)將應(yīng)填入(n)處的內(nèi)容寫在答題紙的對(duì)應(yīng)欄中。
q->X = (5)
q->Y = (6)
q->Z = (7)
q->U = (8)
【問題 3】 (4 分)
內(nèi)存空間常劃分為代碼段(text) 、數(shù)據(jù)段(data) 、bss 段(bss) 、堆區(qū)(heap)和棧區(qū)(stack) ,那么圖 4-1 中 myRadarData 數(shù)組的存儲(chǔ)空間應(yīng)分配在哪個(gè)段中?指針變量 p、q 應(yīng)分配在哪個(gè)段中?