• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦>創(chuàng)業(yè)指南>職場>面試題>

    嵌入式軟件工程師面試題:動態(tài)內存分配

    時間: 敏敏644 分享

      動態(tài)內存分配(Dynamic memory allocation)

      1、盡管不像非嵌入式計算機那么常見,嵌入式系統(tǒng)還是有從堆(heap)中動態(tài)分配內存的過程的。那么嵌入式系統(tǒng)中,動態(tài)分配內存可能發(fā)生的問題是什么?

      這里,我期望應試者能提到內存碎片,碎片收集的問題,變量的持行時間等等。這個主題已經在ESP雜志中被廣泛地討論過了(主要是 P.J. Plauger, 他的解釋遠遠超過我這里能提到的任何解釋),所有回過頭看一下這些雜志吧!讓應試者進入一種虛假的安全感覺后,我拿出這么一個小節(jié)目:下面的代碼片段的輸出是什么,為什么?

      Char *ptr;

      if ((ptr = (char *)malloc(0)) == NULL)

      puts("Got a null pointer");

      else

      puts("Got a valid pointer");

      這是一個有趣的問題。最近在我的一個同事不經意把0值傳給了函數malloc,得到了一個合法的指針之后,我才想到這個問題。這就是上面的代碼,該代碼的輸出是“Got a valid pointer”。我用這個來開始討論這樣的一問題,看看被面試者是否想到庫例程這樣做是正確。得到正確的答案固然重要,但解決問題的方法和你做決定的基本原理更重要些。

      Typedef

      2、 Typedef 在C語言中頻繁用以聲明一個已經存在的數據類型的同義字。也可以用預處理器做類似的事。例如,思考一下下面的例子:

      #define dPS struct s *

      typedef struct s * tPS;

      以上兩種情況的意圖都是要定義dPS 和 tPS 作為一個指向結構s指針。哪種方法更好呢?(如果有的話)為什么?

      這是一個非常微妙的問題,任何人答對這個問題(正當的原因)是應當被恭喜的。答案是:typedef更好。思考下面的例子:

      dPS p1,p2;

      tPS p3,p4;

      第一個擴展為

      struct s * p1, p2;

      上面的代碼定義p1為一個指向結構的指,p2為一個實際的結構,這也許不是你想要的。第二個例子正確地定義了p3 和p4 兩個指針。

      晦澀的語法

      3、C語言同意一些令人震驚的結構,下面的結構是合法的嗎,如果是它做些什么?

      Int a = 5, b = 7, c;

      c = a+++b;

      這個問題將做為這個測驗的一個愉快的結尾。不管你相不相信,上面的例子是完全合乎語法的。問題是編譯器如何處理它?水平不高的編譯作者實際上會爭論這個問題,根據最處理原則,編譯器應當能處理盡可能所有合法的用法。因此,上面的代碼被處理成:

      c = a++ + b;

      因此, 這段代碼持行后a = 6, b = 7, c = 12。

      如果你知道答案,或猜出正確答案,做得好。如果你不知道答案,我也不把這個當作問題。我發(fā)現這個問題的最大好處是:這是一個關于代碼編寫風格,代碼的可讀性,代碼的可修改性的好的話題

    204024 主站蜘蛛池模板: 稚嫩进出嗯啊湿透公交车漫画| 99精品久久99久久久久久| 色婷婷激情综合| 日本永久免费a∨在线视频| 国产在线播放免费| 午夜精品一区二区三区在线观看| 久久99精品一久久久久久| 西西午夜无码大胆啪啪国模| 欧美日韩精品一区二区在线视频| 在线播放国产一区二区三区| 亚洲综合网美国十次| 99re热久久这里只有精品首页| 波多野结衣中文字幕一区二区三区 | 亚洲精品乱码久久久久久蜜桃 | 亚洲日本天堂在线| 2021年最热新版天堂资源中文| 欧美日韩精品一区二区在线播放| 国产精品毛片无遮挡高清| 免费观看午夜在线欧差毛片| 一级做a爰片欧美一区| 玩弄丰满少妇视频| 国内精品一区二区三区在线观看| 亚洲国产高清在线精品一区| 浮力影院亚洲国产第一页| 日韩精品一区二区三区中文版| 国产噜噜噜视频在线观看| 中文字幕在第10页线观看| 精品国产麻豆免费网站| 大肚子孕妇交xxxgif| 全彩调教侵犯h本子全彩网站mj| www.夜夜操.com| 精品视频中文字幕| 天天干天天干天天天天天天爽| 变态调教视频国产九色| tube8最近日本护士| 欧美日韩国产精品| 国产成人精品一区二区三区无码| 久久久青草青青亚洲国产免观| 精品国产一区二区三区色欲| 国内精品免费视频自在线| 亲密爱人完整版在线观看韩剧|