欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中二級(jí)指針的應(yīng)用小結(jié)

 更新時(shí)間:2024年11月26日 10:15:56   作者:電腦玩家飲水機(jī)  
二級(jí)指針是C語言中指向指針的指針,常用于在函數(shù)中修改指針的地址,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 二級(jí)指針概念介紹

在介紹二級(jí)指針之前,首先介紹指針這個(gè)概念,在C語言中指針是用來指向其他數(shù)據(jù)類型的一種數(shù)據(jù)類型,比如char, int, double等類型,那么二級(jí)指針的概念就是指向指針的指針。

2. 二級(jí)指針應(yīng)用場景

那么我們?yōu)槭裁匆褂枚?jí)指針呢,這就牽扯到C語言最基本的兩種參數(shù)傳遞方式,值傳遞和地址傳遞,顧名思義,值傳遞是指我們將參數(shù)本身傳入函數(shù),而地址傳遞則是將參數(shù)的地址傳入函數(shù),而他們造成的效果是值傳遞無法改變參數(shù)實(shí)際值,而地址傳遞則可以改變參數(shù)實(shí)際值。

那如果是想在函數(shù)中修改參數(shù)的地址又該怎么辦呢,我們?nèi)绻苯訉⒌刂穫魅牒瘮?shù),效果和值傳遞的方式一致,函數(shù)的地址不會(huì)發(fā)生改變,因此我們需要將地址的地址傳入函數(shù)后即可成功改變地址值,那么我們就需要指針的指針,也就是二級(jí)指針,下面將舉例來說明二級(jí)指針的應(yīng)用。

3.二級(jí)指針應(yīng)用實(shí)例

我們這里寫一個(gè)函數(shù)來實(shí)現(xiàn)給指針分配固定大小內(nèi)存。先看下面這段代碼。

錯(cuò)誤代碼示范:

/*動(dòng)態(tài)分配內(nèi)存,每個(gè)單元占用num個(gè)字節(jié)*/
bool apply_memory(int *ptr, unsinged int num)
{
    ptr = (int *)malloc(num * sizeof(char));
    if(NULL == ptr)
    {
        return FALSE;
    }
    return TRUE;
}

/*測試函數(shù)*/
bool test_code(void)
{   
    int *ptr = NULL;
    bool ret = apply_memory(ptr, 10);
    if(TRUE == ret)
    {
        return TRUE;
    }
    return FALSE;
}

這段代碼的本意是給傳入函數(shù)的指針動(dòng)態(tài)分配內(nèi)存,每個(gè)元素占用10個(gè)字節(jié)大小,但是這里犯了值傳遞的錯(cuò)誤,導(dǎo)致指針ptr未被修改,因此想要修改ptr,應(yīng)該傳入ptr的地址,正確用例如下。

/*動(dòng)態(tài)分配內(nèi)存,每個(gè)單元占用num個(gè)字節(jié)*/
bool apply_memory(int **ptr, unsinged int num)
{
    *ptr = (int *)malloc(num * sizeof(char));
    if(NULL == *ptr)
    {
        return FALSE;
    }
    return TRUE;
}

/*測試函數(shù)*/
bool test_code(void)
{   
    int *ptr = NULL;
    bool ret = apply_memory(&ptr, 10);
    if(TRUE == ret)
    {
        return TRUE;
    }
    return FALSE;
}

4.二級(jí)指針總結(jié)

實(shí)際上二級(jí)指針的作用就是為了在函數(shù)當(dāng)中修改一級(jí)指針指向的地址,同理,三級(jí)指針的作用也是在函數(shù)當(dāng)中修改二級(jí)指針指向的地址。依次類推,如果在函數(shù)當(dāng)中想修改某個(gè)參數(shù)(變量或者地址),就必須傳入?yún)?shù)的地址才能夠?qū)崿F(xiàn)。

到此這篇關(guān)于C語言中二級(jí)指針的應(yīng)用小結(jié)的文章就介紹到這了,更多相關(guān)C語言 二級(jí)指針內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言中結(jié)構(gòu)體、聯(lián)合體的成員內(nèi)存對齊情況

    C語言中結(jié)構(gòu)體、聯(lián)合體的成員內(nèi)存對齊情況

    這篇文章主要給大家介紹了關(guān)于C語言中結(jié)構(gòu)體、聯(lián)合體的成員內(nèi)存對齊情況的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • C語言中for循環(huán)問題(一個(gè)小坑需注意)

    C語言中for循環(huán)問題(一個(gè)小坑需注意)

    這篇文章主要給大家介紹了關(guān)于C語言中for循環(huán)問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C++中pair的用法總結(jié)

    C++中pair的用法總結(jié)

    pair是C++STL(標(biāo)準(zhǔn)模板庫)中的一個(gè)現(xiàn)有容器,它將2個(gè)數(shù)據(jù)整合成一組數(shù)據(jù),當(dāng)我們類似需求的時(shí)候就可以使用到pair,pair的本質(zhì)其實(shí)就是個(gè)結(jié)構(gòu)體,本文將詳細(xì)的給大家介紹pair用法,感興趣的同學(xué)可以參考閱讀
    2023-05-05
  • C++解決輸出鏈表中倒數(shù)k個(gè)結(jié)點(diǎn)的問題

    C++解決輸出鏈表中倒數(shù)k個(gè)結(jié)點(diǎn)的問題

    這篇文章主要給大家介紹了關(guān)于如何利用C++解決輸出鏈表中倒數(shù)k個(gè)結(jié)點(diǎn)的問題,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-12-12
  • C++使用智能指針實(shí)現(xiàn)模板形式的單例類

    C++使用智能指針實(shí)現(xiàn)模板形式的單例類

    這篇文章主要為大家詳細(xì)介紹了C++使用了智能指針實(shí)現(xiàn)模板形式的單例類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • c語言實(shí)現(xiàn)兩個(gè)單鏈表的交叉合并方式

    c語言實(shí)現(xiàn)兩個(gè)單鏈表的交叉合并方式

    今天小編就為大家分享一篇c語言實(shí)現(xiàn)兩個(gè)單鏈表的交叉合并方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • kernel劫持modprobe?path內(nèi)容詳解

    kernel劫持modprobe?path內(nèi)容詳解

    這篇文章主要為大家介紹了kernel劫持modprobe?path的內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • C語言數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法

    C語言數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C語言的堆串操作詳解

    C語言的堆串操作詳解

    大家好,本篇文章主要講的是C語言的堆串操作詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • C++初階學(xué)習(xí)之模板進(jìn)階

    C++初階學(xué)習(xí)之模板進(jìn)階

    這篇文章主要為大家介紹了C++模板進(jìn)階,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01

最新評論