真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言函數(shù)詳解(看完必會)-創(chuàng)新互聯(lián)

一、C語言中函數(shù)的分類:

1.庫函數(shù)

做網(wǎng)站、成都網(wǎng)站制作,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向上1000+企業(yè)提供了,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗,合理的價格為您打造企業(yè)品質(zhì)網(wǎng)站。

2.自定義函數(shù)

為什么會有庫函數(shù)?

(1) 我們知道在我們學(xué)習(xí)C語言編程的時候,總是在一個代碼編寫完成之后迫不及待的想知道結(jié)果,想 把這個結(jié)果打印到我們的屏幕上看看。這個時候我們會頻繁的使用一個功能:將信息按照一定的格式打印到屏幕上(printf)。

(2) 在編程的過程中我們會頻繁的做一些字符串的拷貝工作(strcpy)。

(3)在編程時,我們也計算,總是會計算n的k次方這樣的運算(pow)。

學(xué)習(xí)庫函數(shù)的文檔: https://cplusplus.com/reference/

網(wǎng)站:https://en.cppreference.com(英文版)

https://zh.cppreference.com(中文版)

程序:msdn(離線工具)

在msdn中搜索庫函數(shù):

簡單的總結(jié),C語言常用的庫函數(shù)都有:

IO函數(shù) (輸入輸出函數(shù))

字符串操作函數(shù) (strlen字符串長度等等)

字符操作函數(shù)(判斷字符大小寫等)

內(nèi)存操作函數(shù)

時間/日期函數(shù)

數(shù)學(xué)函數(shù)

其他庫函數(shù)

二、參照文檔學(xué)習(xí)庫函數(shù): (注意使用庫函數(shù)的時候要記得包含頭文件)

1.Strcpy 把原指針指向的字符串拷貝到放到目標(biāo)地指針的空間里面.

#include#includeint main() {
    char arr1[] = "abcdef";
    char arr2[20] = { 0 };
    strcpy(arr2, arr1);//strcpy(目標(biāo)空間必須夠大,所以arr2[]的長度要比arr1[]的長)把arr1里面內(nèi)容拷貝放到arr2里面去
    printf("%s\n", arr2);
}

注意:Strcpy是把源頭的數(shù)據(jù)放到目標(biāo)空間里面去,并且把\0也放進(jìn)去了(文檔里面也有體現(xiàn))

2.Memset:把ptr后面num個字節(jié)設(shè)置成value值

//把helloworld前五個字符改為x
//把helloworld前五個字符改為x
int main() {
    char arr1[] = "hello world";
    memset(arr1, 'x', 5);
    printf("%s", arr1);
}

三、自定義函數(shù)

自定義函數(shù)和庫函數(shù)一樣,有函數(shù)名,返回值類型和函數(shù)參數(shù)。

但是不一樣的是這些都是我們自己來設(shè)計。這給程序員一個很大的發(fā)揮空間。

ret_type fun_name(para1, * )
 { statement;//語句項
 } 
//ret_type 返回類型
//fun_name 函數(shù)名 
//para1    函數(shù)參數(shù)(可以沒有,有一個,有多個)

建議:先寫主函數(shù),---理清怎么用,反推函數(shù)怎么去寫

1.計算兩個整數(shù)的大值
int get_max(int x, int y) {
    if (x >y)
        return x;
    else
        return y;
}
int main() {
    int a = 0;
    int b = 0;
    scanf("%d %d",&a,&b);
    關(guān)于函數(shù)的命名               
    Max()
    GetMax() --獲取大值(可以每個單詞的第一個大寫便于區(qū)分)
    get_max()---獲取大值(可以在中間加一個_隔開)
    int m = get_max(a, b);
    printf("%d\n", m);
    return 0;
}

在調(diào)用函數(shù)的時候真實傳遞給函數(shù)的參數(shù)叫實參

2.打印hehe
void print() {  //函數(shù)的返回類型:如果寫的函數(shù)有明確的返回類型要寫出來,不需要返回,就在類型的地方寫上void
    printf("hehe");
}
int main() {
    print();
    return 0;
}
3.寫一個函數(shù)可以交換兩個整型變量的內(nèi)容 // 錯誤示范
void Swap(int x,int y) {
    int tmp = x;
    x = y;
    y = tmp;
}
int main() {
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);

    printf("交換前:a=%d b=%d\n", a, b);
    Swap(a, b);
    printf("交換后:a=%d b=%d\n", a, b);

    return 0;
}

錯誤原因:

a變量的值是3,b變量的值是5;a,b確實將3,5傳給了x,y;但是即使通過tmp交換了x和y的值,可x,y的地址與a,b的地址可不對應(yīng),所以最后輸出的時候根本不會影響a,b的值(因為a,b的值一直都存放在a,b的地址里面沒有發(fā)生改變)

簡單說,因為在調(diào)用的時候形參x,y都有自己的地址.

規(guī)范回答:

實參傳遞給形參的時候,形參是實參的一份臨時拷貝,對形參的修改不會影響實參的

解決思路:用pa把地址關(guān)聯(lián)起來

需要返回值就用具體的例如int,不需要返回值的就寫void

//正確示范
void swap2(int* pa, int* pb) {
    int tmp = *pa;//相當(dāng)于tmp=a;的操作
    *pa=*pb;          //相當(dāng)于a=b;的操作
    *pb=tmp;          //相當(dāng)于b=tmp;的操作
}
int main() {
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);

    printf("交換前:a=%d b=%d\n", a, b);
    Swap(&a, &b);
    printf("交換后:a=%d b=%d\n", a, b);

    return 0;
}

4.函數(shù)什么時候傳值,什么時候傳地址?

當(dāng)Swap函數(shù)內(nèi)部想要改變它函數(shù)外部的變量的值的時候,需要傳地址;

不修改時只傳值即可.

5.實際參數(shù):

真實傳給函數(shù)的參數(shù),叫實參。 實參可以是:常量、變量、表達(dá)式、函數(shù)等。 無論實參是何種類型的量,在進(jìn)行函數(shù)調(diào)用時,它們都必須有確定的值,以便把這些值傳送給形參。

6.形式參數(shù) : (如果沒有調(diào)用函數(shù),就不會給形參分配空間)

形式參數(shù)是指函數(shù)名后括號中的變量,因為形式參數(shù)只有在函數(shù)被調(diào)用的過程中才實例化

所以叫形式參數(shù)。形式參數(shù)當(dāng)函數(shù)調(diào)用完成之后就自動銷毀了。因此形式參數(shù)只在函數(shù)中有 效。

函數(shù)的調(diào)用--------傳值調(diào)用 傳址調(diào)用

7.補充另一種錯誤示范分析:

當(dāng)創(chuàng)建tmp把px,py里面的值互換,px---0x0012ff44,py---0x0012ff40,但是這并不影響a,b的值.

你學(xué)到了嗎小伙伴們😜😜

如果對你有幫助的話,希望小伙伴們點個贊和關(guān)注一下哦~💗💗💗我也會繼續(xù)更新學(xué)習(xí)的內(nèi)容,感謝友友們的支持!😚

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁名稱:C語言函數(shù)詳解(看完必會)-創(chuàng)新互聯(lián)
文章位置:http://weahome.cn/article/isedc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部