欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

啊C啊C我愛你-2

C++軟件與嵌入式軟件面經(jīng)解析大全(蔣豆芽的秋招打怪之旅)


本章講解點(diǎn)

  • 1.1 熟悉的陌生人——main函數(shù)

  • 1.2 If else——易錯細(xì)節(jié)分辨

  • 1.3 Switch、break——相愛相殺的故事

  • 1.4 For、while、do-while——傻傻分不清楚

  • 1.5 枚舉

  • 1.6 結(jié)構(gòu)體與共用體

  • 1.7 函數(shù)——原來你是這樣的函數(shù)

  • 1.8 全局變量與靜態(tài)變量詳解

  • 1.9 數(shù)據(jù)類型詳解

  • 1.10 類型轉(zhuǎn)換

  • 1.11 誰先誰后——把人搞瘋的優(yōu)先級

  • 1.12 震驚——位運(yùn)算還可以這樣用

  • 1.13 面試技巧講解

  • 1.14 數(shù)組指針與指針數(shù)組

  • 1.15 指針與字符串

  • 1.16 指針與函數(shù)

  • 1.17 指針與結(jié)構(gòu)體

  • 1.18 內(nèi)存布局

  • 1.19 野指針與內(nèi)存泄露

  • 1.20 野指針與內(nèi)存申請

  • 1.21 內(nèi)存碎片


受眾:本教程適合于C/C++已經(jīng)入門的學(xué)生或人士,有一定的編程基礎(chǔ)。

本教程適合于互聯(lián)網(wǎng)嵌入式軟件求職的學(xué)生或人士。

img

故事背景

img

蔣 豆 芽:小名豆芽,芳齡十八,蜀中人氏。卑微小碩一枚,科研領(lǐng)域茍延殘喘,研究的是如何炒好一盤豆芽。與大多數(shù)人一樣,學(xué)習(xí)道路永無止境,間歇性躊躇滿志,持續(xù)性混吃等死。會點(diǎn)編程,對了,是面對對象的那種。不知不覺研二到找工作的時候了,同時還在忙論文,豆芽都禿了,不過豆芽也沒頭發(fā)啊。

隔壁老李:大名老李,蔣豆芽的好朋友,技術(shù)高手,代碼女神。給了蔣豆芽不少的人生指導(dǎo)意見。

導(dǎo) 師:蔣豆芽的老板,研究的課題是每天對豆芽噓寒問暖。

img

故事引入

img

蔣 豆 芽:今天周五了,嘿嘿,周末要到了,趁著周末好好復(fù)習(xí)下,迎接下周的筆試面試,剛把跌?。。。ǘ寡磕樕闲ξ?#^.^#))


蔣 豆 芽:老李,馬上周末了,上次你給我講的C語言細(xì)節(jié)知識,還有嗎?再給我講講吧。大佬,哦吶桑(姐姐),拜托。

隔壁老李:(一臉嫌棄)本來是周末陪男朋友的,看你這么誠懇,就給你講講吧,我讓男朋友晚點(diǎn)來。

蔣 豆 芽:(小聲嘀咕)原來如此,呵,女人,重色輕友。

隔壁老李:(目光凌厲)你說啥?

蔣 豆 芽:(一臉嬉笑)沒啥啊,我說你才貌與智慧并重,狹義與柔情化身。豆芽滯銷,快救救豆芽吧,求求了。

隔壁老李:(一臉無奈)行啦行啦,豆芽,我們就開始吧。

蔣 豆 芽:好好好!


隔壁老李:上次我們一直探討了一些C語言的細(xì)節(jié)知識,如果忘了,豆芽你再回去復(fù)習(xí)復(fù)習(xí),這次我們接著講幾個內(nèi)容。

img

1.7 函數(shù)——原來你是這樣的函數(shù)

img

隔壁老李:上次我們將了熟悉的陌生人——main函數(shù)。這次我們講講函數(shù)的細(xì)節(jié)知識。

隔壁老李:講之前,關(guān)于函數(shù)的基礎(chǔ)知識,我們先提一下。函數(shù)是一個獨(dú)立的代碼塊,實(shí)現(xiàn)某一功能,可以傳入?yún)?shù),返回結(jié)果。函數(shù)定義的一般格式是:

返回值類型 函數(shù)名([形參]){  
    函數(shù)體  
}  

函數(shù)可以沒有返回值。

行,豆芽,C語言你是有基礎(chǔ)的,所以這里點(diǎn)到為止。

隔壁老李:豆芽,函數(shù)的入門知識你應(yīng)該是沒問題的,但是有一個東西不知道你有沒有注意過,那就是實(shí)參與形參

蔣 豆 芽:這個簡單,比如一個函數(shù)聲明為:double cylinder(double r, double h),這個時候rh就是形參,而當(dāng)我們調(diào)用該函數(shù)時,如volume = cylinder(radius, height),這個時候傳入的參數(shù)radiusheight就是實(shí)參。函數(shù)調(diào)用時,實(shí)參radiusheight的值將被依次傳給形參rh

蔣 豆 芽:函數(shù)的形參必須是變量,用于接受實(shí)參傳遞過來的值;而實(shí)參可以是常量、變量或表達(dá)式,其作用是把常量、變量或表達(dá)式的值傳遞給形參。如果實(shí)參是變量,它與所對應(yīng)的形參是兩個不同的變量。

比如:

//函數(shù)聲明,函數(shù)的形參必須是變量
double cylinder(double r, double h);

//函數(shù)調(diào)用,實(shí)參可以是常量、變量或表達(dá)式
volume = cylinder(radius, height);
volume = cylinder(3, 4);
volume = cylinder(radius+3, height*4);

實(shí)參是主調(diào)函數(shù)的,形參是自定義函數(shù)的,這兩者可以同名,也可以不同名。實(shí)參和形參一一對應(yīng),數(shù)量應(yīng)相同,建議類型也保持一致。

隔壁老李:豆芽,你的基礎(chǔ)還不錯嘛。

蔣 豆 芽:嘻嘻。勉強(qiáng)勉強(qiáng)。

隔壁老李:那我問下你,以你的例子為例,當(dāng)r,h的值改變時,radiusheight的值會改變嗎?

蔣 豆 芽:(不太確定)不會吧。

隔壁老李:你的樣子看起來不太確定哈。正確答案是不會的。我們在學(xué)習(xí)語言時,都會想當(dāng)然先入為主,平時習(xí)以為常,并沒有去關(guān)注細(xì)節(jié),但是有人問起細(xì)節(jié)時,就感覺不確定了,所以我們要弄懂細(xì)節(jié),使得我們更有自信地去用好一門語言,筆試面試更不在話下。

隔壁老李:豆芽你來說說radiusheight的值為什么不會改變。

蔣 豆 芽:我想起來了,因為在函數(shù)傳參的過程中,函數(shù)會為形參申請新的內(nèi)存空間,并將實(shí)參的值復(fù)制給形參。如下:

img

因為實(shí)參和形參是不同的變量,各自占有自己的內(nèi)存,當(dāng)然形參的值發(fā)生改變但不會影響實(shí)參了啊。

隔壁老李:沒錯,我們來驗證一下。下面是我給的參考例子。

#include <stdio.h>  
using namespace std;  
double cylinder(double r, double h) {  
    double *address_r = &r;//展示地址  
    double *address_h = &h;  
    r = 1.1; h = 2.2;//改變形參值  
    return 1.0;  
}  
int main() {  
    double radius = 3.2;  
    double height = 4.2;  
    double *address_radius = &radius;//展示地址  
    double *address_height = &height;  
    double volume = cylinder(radius, height);  
    return 0;  
}  

我們通過斷點(diǎn)調(diào)試,先到double volume = cylinder(radius, height);處,我們先記錄一下radiusheight的值和地址,

img

然后進(jìn)入cylinder函數(shù)。

記錄一下rh的值和地址:

img

我們可以清楚看到,C語言將實(shí)參的值復(fù)制給了形參,專門為形參變量開辟了新的內(nèi)存空間,實(shí)參與形參的內(nèi)存地址是不一樣的。然后我們運(yùn)行完cylinder函數(shù)時,我們的形參值發(fā)生了改變,最后我們退出函數(shù),發(fā)現(xiàn)我們的實(shí)參值是沒有改變的。

原因很簡單,形參和實(shí)參擁有不同的內(nèi)存空間。

img
img

隔壁老李:(眼光一閃)豆芽,我問你個問題,那如果我們想讓實(shí)參隨著形參的值改變應(yīng)該怎么辦呢?

蔣 豆 芽:(絲毫不慌)那就使用指針變量。如double cylinder(double *r, double *h),當(dāng)我們調(diào)用該函數(shù)時傳入變量地址,volume = cylinder(&radius, &height)

隔壁老李:沒錯,那我們再來驗證一下。

#include <stdio.h>  
using namespace std;  
double cylinder(double *r, double *h) {  
    *r = 1.1; *h = 2.2;//改變形參值  
    return 1.0;  
}  
int main() {  
    double radius = 3.2;  
    double height = 4.2;  
    double *address_radius = &radius;//展示地址  
    double *address_height = &height;  
    double volume = cylinder(&radius, &height);  
    return 0;  
}  

依然按照我們之前的思路依次查看形參實(shí)參的地址和值。

img
img
img

可以非常清楚地看到,這時的形參和實(shí)參內(nèi)存地址是一樣的,那么改變形參的值,實(shí)參的值也會被改變。豆芽你說說這是為什么?

蔣 豆 芽:根據(jù)指針的特性,是因為函數(shù)調(diào)用時,將實(shí)參地址賦值給了形參變量,使得形參指針指向了實(shí)參的地址空間,所以實(shí)參和形參指向了同一個內(nèi)存空間。如圖:

img

可以很清楚地看到,函數(shù)為形參*r申請新的內(nèi)存空間,然后將實(shí)參radius的地址賦值給了r,所以r=0x0001,這樣r就指向了radius的內(nèi)存空間,通過改變*r的值,也就是改變了radius的值,因為它們指向了同一個內(nèi)存空間

隔壁老李:豆芽,那你看看下面的代碼,最后radiusheight的值又是多少呢?

#include <stdio.h>  
using namespace std;  
double cylinder(double *r, double *h) {  
    r = new double(0.1); h = new double(0.2);  
    *r = 1.1; *h = 2.2;//改變形參值  
    return 1.0;  
}  
int main() {  
    double radius = 3.2;  
    double height = 4.2;  
    double *address_radius = &radius;//展示地址  
    double *address_height = &height;  
    double volume = cylinder(&radius, &height);  
    return 0;  
}  

蔣 豆 芽:這不是一樣的嗎?指針形參嘛,最后radius=1.1,height=2.2

隔壁老李:你確定嗎?我們看看最后的結(jié)果吧

img

蔣 豆 芽:(一臉疑惑)咦?沒變?形參不是值改變了嗎?這是怎么回事?

剩余60%內(nèi)容,訂閱專欄后可繼續(xù)查看/也可單篇購買

<p> - 本??m合于C/C++已經(jīng)入門的學(xué)生或人士,有一定的編程基礎(chǔ)。 - 本??m合于互聯(lián)網(wǎng)C++軟件開發(fā)、嵌入式軟件求職的學(xué)生或人士。 - 本??依薈語言、C++、操作系統(tǒng)、計算機(jī)網(wǎng)絡(luò)、嵌入式、算法與數(shù)據(jù)結(jié)構(gòu)等一系列知識點(diǎn)的講解,并且最后總結(jié)出了高頻面試考點(diǎn)(附有答案)共近400道,知識點(diǎn)講解全面。不僅如此,教程還講解了簡歷制作、筆試面試準(zhǔn)備、面試技巧等內(nèi)容。 </p> <p> <br /> </p>

全部評論
func3為啥是10不是30呀,有大佬能細(xì)說嘛
1 回復(fù) 分享
發(fā)布于 2021-06-17 22:53
小筆誤:強(qiáng)制類型轉(zhuǎn)換int sum = 17;應(yīng)該是7
點(diǎn)贊 回復(fù) 分享
發(fā)布于 2024-03-15 11:53 江蘇
哈哈哈 太搞笑了
點(diǎn)贊 回復(fù) 分享
發(fā)布于 2023-08-25 17:33 湖北

相關(guān)推薦

SHC2:關(guān)鍵問題是你這三段實(shí)習(xí)是三個不同的崗位…你這樣子秋招就是只有一段實(shí)習(xí)的本科生..
點(diǎn)贊 評論 收藏
分享
群星之怒:不是哥們,你就不好奇癱瘓三十年的老植物人是啥樣的嗎?
點(diǎn)贊 評論 收藏
分享
評論
點(diǎn)贊
收藏
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
??推髽I(yè)服務(wù)