最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

三道c語(yǔ)言經(jīng)典面試題分享與解析

2018-07-27 10:45 作者:韋東山  | 我要投稿

題一,sizeof 和 strlen 有何區(qū)別? 

題二, strcpy、sprintf 與 memcpy 有啥區(qū)別?

題三,鏈表和數(shù)組有何區(qū)別?


題一參考答案:


sizeof 是一個(gè)操作符,strlen 是庫(kù)函數(shù)。sizeof 的參數(shù)可以是數(shù)據(jù)的類型,也可以是變量,而 strlen 只能以結(jié)尾為‘\0‘的字符串作參數(shù)。
編譯器在編譯時(shí)就計(jì)算出了sizeof 的結(jié)果。而 strlen 函數(shù)必須在運(yùn)行時(shí)才能計(jì)算出來(lái)。并且sizeof計(jì)算的是數(shù)據(jù)類型占內(nèi)存的大小,而 strlen 計(jì)算的是字符串實(shí)際的長(zhǎng)度。
數(shù)組做sizeof 的參數(shù)不退化,傳遞給 strlen 就退化為指針了。
注意:有些是操作符看起來(lái)像是函數(shù),而有些函數(shù)名看起來(lái)又像操作符,這類容易混淆的名稱一定要加以區(qū)分,否則遇到數(shù)組名這類特殊數(shù)據(jù)類型作參數(shù)時(shí)就很容易出錯(cuò)。最容易混淆為函數(shù)的操作符就是sizeof。

題二參考答案:


三者主要有以下不同之處:
操作對(duì)象不同,strcpy 的兩個(gè)操作對(duì)象均為字符串,sprintf 的操作源對(duì)象可以是多種數(shù)據(jù)類型,目的操作對(duì)象是字符串,memcpy 的兩個(gè)對(duì)象就是兩個(gè)任意可操作的內(nèi)存地址,并不限于何種數(shù)據(jù)類型。
執(zhí)行效率不同,memcpy 最高,strcpy 次之,sprintf 的效率最低。
實(shí)現(xiàn)功能不同,strcpy 主要實(shí)現(xiàn)字符串變量間的拷貝,sprintf 主要實(shí)現(xiàn)其他數(shù)據(jù)類型格式到字符串的轉(zhuǎn)化,memcpy 主要是內(nèi)存塊間的拷貝。
說(shuō)明:strcpy、sprintf 與memcpy都可以實(shí)現(xiàn)拷貝的功能,但是針對(duì)的對(duì)象不同,請(qǐng)根據(jù)實(shí)際需求,來(lái)選擇合適的函數(shù)實(shí)現(xiàn)拷貝功能。

題三參考答案:


數(shù)組和鏈表有以下幾點(diǎn)不同:


(1)存儲(chǔ)形式:數(shù)組是一塊連續(xù)的空間,聲明時(shí)就要確定長(zhǎng)度。鏈表是一塊可不連續(xù)的動(dòng)態(tài)空間,長(zhǎng)度可變,每個(gè)結(jié)點(diǎn)要保存相鄰結(jié)點(diǎn)指針。
(2)數(shù)據(jù)查找:數(shù)組的線性查找速度快,查找操作直接使用偏移地址。鏈表需要按順序檢索結(jié)點(diǎn),效率低。
(3)數(shù)據(jù)插入或刪除:鏈表可以快速插入和刪除結(jié)點(diǎn),而數(shù)組則可能需要大量數(shù)據(jù)移動(dòng)。
(4)越界問(wèn)題:鏈表不存在越界問(wèn)題,數(shù)組有越界問(wèn)題。
說(shuō)明:在選擇數(shù)組或鏈表數(shù)據(jù)結(jié)構(gòu)時(shí),一定要根據(jù)實(shí)際需要進(jìn)行選擇。數(shù)組便于查詢,鏈表便于插入刪除。數(shù)組節(jié)省空間但是長(zhǎng)度固定,鏈表雖然變長(zhǎng)但是占了更多的存儲(chǔ)空間。

預(yù)知更多干貨請(qǐng)關(guān)注微信公眾號(hào)百問(wèn)科技(id: baiwenkeji)。

 


三道c語(yǔ)言經(jīng)典面試題分享與解析的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宣威市| 陈巴尔虎旗| 赤壁市| 云阳县| 屯昌县| 榆林市| 建平县| 峨山| 施甸县| 新巴尔虎左旗| 子洲县| 鄂州市| 潼南县| 瑞金市| 香河县| 小金县| 金寨县| 米泉市| 安阳市| 探索| 兴业县| 鸡西市| 绥德县| 榆树市| 广安市| 锡林郭勒盟| 沙河市| 饶河县| 云南省| 晋城| 郎溪县| 德格县| 密云县| 开封市| 葵青区| 辽宁省| 胶州市| 新郑市| 正宁县| 丹江口市| 河津市|