千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > C語言面試題之結(jié)構(gòu)體共用體枚舉

C語言面試題之結(jié)構(gòu)體共用體枚舉

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-06-07 16:25:56 1654590356

  描述結(jié)構(gòu)體對齊規(guī)則

  1. 數(shù)組成員對齊規(guī)則。第一個數(shù)組成員應該放在offset為0的地方,以后每個數(shù)組成員應該放在offset為min(當前成員的大小,#pargama pack(n))整數(shù)倍的地方開始(比如int在32位機器為4字節(jié),#pargama pack(2),那么從2的倍數(shù)地方開始存儲)。

描述結(jié)構(gòu)體對齊規(guī)則

  2. 結(jié)構(gòu)體總的大小,也就是sizeof的結(jié)果,必須是min(結(jié)構(gòu)體內(nèi)部最大成員,#pargama pack(n))的整數(shù)倍,不足要補齊。

  3. 結(jié)構(gòu)體做為成員的對齊規(guī)則。如果一個結(jié)構(gòu)體B里嵌套另一個結(jié)構(gòu)體A,還是以最大成員類型的大小對齊,但是結(jié)構(gòu)體A的起點為A內(nèi)部最大成員的整數(shù)倍的地方。(struct B里存有struct A,A里有char,int,double等成員,那A應該從8的整數(shù)倍開始存儲。),結(jié)構(gòu)體A中的成員的對齊規(guī)則仍滿足原則1、原則2。

  如何理解結(jié)構(gòu)體的淺拷貝與深拷貝

  當結(jié)構(gòu)體中有指針成員的時候容易出現(xiàn)淺拷貝與深拷貝的問題。

  淺拷貝就是,兩個結(jié)構(gòu)體變量的指針成員指向同一塊堆區(qū)空間,在各個結(jié)構(gòu)體變量釋放的時候會出現(xiàn)多次釋放同一段堆區(qū)空間

  深拷貝就是,讓兩個結(jié)構(gòu)體變量的指針成員分別指向不同的堆區(qū)空間,只是空間內(nèi)容拷貝一份,這樣在各個結(jié)構(gòu)體變量釋放的時候就不會出現(xiàn)多次釋放同一段堆區(qū)空間的問題

  描述枚舉

  關(guān)鍵字enum,將枚舉變量將要賦值的值 一一用符號常量(枚舉值)列舉出來。枚舉變量盡量賦值為給定的符號常量(枚舉值)

  描述共有體

  以關(guān)鍵字union修飾,共有體又叫聯(lián)合體,共有體中的成員共享同一塊內(nèi)存空間。

  內(nèi)存空間總大小由共用體中最大的成員類型決定,每個成員能夠操作的空間大小是由成員自身類型大小決定

  描述結(jié)構(gòu)體

  以關(guān)鍵字struct修飾,結(jié)構(gòu)體中的成員擁有各自獨立的空間,按照(結(jié)構(gòu)體對齊規(guī)則)存儲在內(nèi)存中

  結(jié)構(gòu)體中的成員類型可以不同

  結(jié)構(gòu)體與共用體的區(qū)別

  結(jié)構(gòu)體中的成員擁有獨立的空間,共用體的成員共享同一塊空間,但是每個共用體成員能訪問共用區(qū)的空間大小是由成員自身的類型決定

  結(jié)構(gòu)體變量初始化時需要注意啥

  結(jié)構(gòu)體變量的初始化 必須遵循結(jié)構(gòu)體成員的順序以及成員的自身類型

  談談你對結(jié)構(gòu)體數(shù)組的理解

  結(jié)構(gòu)體數(shù)組:本質(zhì)是數(shù)組,數(shù)組的每個元素為結(jié)構(gòu)體變量。

  談談你對結(jié)構(gòu)體位域的理解

  在結(jié)構(gòu)體中,以位為單位的成員,咱們稱之為位段(位域)

  不能對位域取地址

  對位域賦值 不要超過 位域本身位的寬度

  談談你對鏈表的理解

  鏈表是由一個個節(jié)點組成,節(jié)點沒有名字,每個節(jié)點從堆區(qū)動態(tài)申請,節(jié)點間物理上是非連續(xù)的,但是每個節(jié)點通過指針域 保存下一個節(jié)點的位置 達到邏輯上連續(xù)

  談談數(shù)組和鏈表的不同點

  數(shù)組通過下標能夠快速遍歷數(shù)組的每個元素(訪問效率高),但是當數(shù)組插入或刪除數(shù)據(jù)時需要移動大量的數(shù)據(jù)(插入刪除效率低)

  鏈表通過指針域逐個節(jié)點的訪問數(shù)據(jù)(訪問效率低),但是當鏈表插入或刪除節(jié)點不需要移動節(jié)點(插入刪除效率高)

更多關(guān)于物聯(lián)網(wǎng)培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經(jīng)驗,采用全程面授高品質(zhì)、高體驗培養(yǎng)模式,擁有國內(nèi)一體化教學管理及學員服務,助力更多學員實現(xiàn)高薪夢想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT