最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言的多級指針你了解嗎

 更新時間:2021年08月26日 16:02:35   作者:寶全哥哥  
這篇文章主要介紹了C語言中的多級指針,本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下,希望能給你帶來幫助

前言

自學(xué)筆記,沒有歷史知識鋪墊(省略百度部分)C語言了解多級指針的使用

一、多級指針概念

指向指針的指針
即:存放地址的地址
int **p;

多級指針可以將內(nèi)存上毫無關(guān)系的多組數(shù)據(jù),產(chǎn)生關(guān)系(線性操作數(shù)據(jù))

二、多級指針的使用

1.二維指針

二維指針示例,此處以系統(tǒng)入口main函數(shù)示例1 通過argc提供的數(shù)量做循環(huán)

int main(int argc,char **argv)
{
    for (int i = 0; i < argc; i++)
    {
            printf("argv[%d]=%s \n",i,argv[i]);
    }
    return 0;
}
$ gcc -o main main.c
$ ./main staging myname mypassword
argv[0]=./main 
argv[1]=staging 
argv[2]=myname 
argv[3]=mypassword 

main函數(shù)中讀取傳入的二維指針示例2 僅通過二維指針做判斷

int main(int argc,char **argv)
{
    int i = 0;
    while (argv[i]!=NULL)
    {
       printf("argv[%d]=%s \n",i,argv[i]);
       i++;
    }
    return 0;
}

可以使用NULL或者0x0作為多級指針是否讀取完畢的標(biāo)識,效果一致

$ gcc -o main main.c
$ ./main staging myname mypassword
argv[0]=./main 
argv[1]=staging 
argv[2]=myname 
argv[3]=mypassword 

二維指針的創(chuàng)建

int main()
{
    char **a;
    char a1 = 1;
    char a2 = 2;
    char a3 = 3;
    a[0] = &a1;
    a[1] = &a2;
    a[2] = &a3;
    //a[0]:1,a[1]:2,a[2]:3
    printf("a[0]:%d,a[1]:%d,a[2]:%d", a[0][0], *a[1], *a[2]);
    return 0;
}
    char *a[5];
    char a1 = 1;
    char a2 = 2;
    char a3 = 3;
    a[0] = &a1;
    a[1] = &a2;
    a[2] = &a3;
    //a[0]:1,a[1]:2,a[2]:3
    printf("a[0]:%d,a[1]:%d,a[2]:%d", a[0][0], *a[1], *a[2]);
    return 0;

以上兩種方案效果一致

注意:

二維指針與數(shù)組的概念非常類似,如上char **a;和char a[]的作用相似二維指針的讀取方法a[0][0]或者*a[0]都可以,前者是二維指針下標(biāo),a[0]等同于*a

總結(jié)

本章主要為C語言了解多級指針的使用

相關(guān)文章

  • C++實現(xiàn)LRU緩存的操作方法

    C++實現(xiàn)LRU緩存的操作方法

    LRU是一種常用的緩存淘汰策略,主要目的是在緩存空間有限的情況下,優(yōu)先淘汰那些最長時間沒有被訪問的數(shù)據(jù)項,這篇文章主要介紹了C++實現(xiàn)LRU緩存,需要的朋友可以參考下
    2024-07-07
  • 關(guān)于C/C++中typedef的定義與用法總結(jié)

    關(guān)于C/C++中typedef的定義與用法總結(jié)

    在C還是C++代碼中,typedef都使用的很多,在C代碼中尤其是多,typedef與#define有些相似,其實是不同的,特別是在一些復(fù)雜的用法上,需要的朋友可以參考下
    2012-12-12
  • 關(guān)于Qt?C++中connect的幾種寫法代碼示例

    關(guān)于Qt?C++中connect的幾種寫法代碼示例

    這篇文章介紹了Qt中connect函數(shù)的不同編寫方式,包括傳統(tǒng)的槽函數(shù)寫法、使用函數(shù)指針的寫法、Lambda表達式以及使用QOverload選擇重載信號的寫法,每種寫法都有其特點和適用場景,程序員應(yīng)根據(jù)具體需求選擇最合適的方式,需要的朋友可以參考下
    2024-11-11
  • C++ 關(guān)于 CMFCPropertyGridCtrl 的使用方法

    C++ 關(guān)于 CMFCPropertyGridCtrl 的使用方法

    這篇文章主要介紹了C++ 關(guān)于 CMFCPropertyGridCtrl 的使用方法的相關(guān)資料,需要的朋友可以參考下
    2015-06-06
  • C語言實現(xiàn)簡單的貪吃蛇游戲

    C語言實現(xiàn)簡單的貪吃蛇游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單的貪吃蛇游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • c++函數(shù)指針和回調(diào)函數(shù)示例

    c++函數(shù)指針和回調(diào)函數(shù)示例

    這篇文章主要介紹了c++函數(shù)指針和回調(diào)函數(shù)示例,需要的朋友可以參考下
    2014-05-05
  • C++數(shù)據(jù)結(jié)構(gòu)之鏈表詳解

    C++數(shù)據(jù)結(jié)構(gòu)之鏈表詳解

    這篇文章主要介紹了C++數(shù)據(jù)結(jié)構(gòu)之鏈表的創(chuàng)建的相關(guān)資料,希望通過本文幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語言實現(xiàn)財務(wù)管理系統(tǒng)

    C語言實現(xiàn)財務(wù)管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)財務(wù)管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • c++項目中后綴名vcxproj和sln的區(qū)別及說明

    c++項目中后綴名vcxproj和sln的區(qū)別及說明

    這篇文章主要介紹了c++項目中后綴名vcxproj和sln的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • C++賦值函數(shù)+移動賦值函數(shù)+移動構(gòu)造函數(shù)詳解

    C++賦值函數(shù)+移動賦值函數(shù)+移動構(gòu)造函數(shù)詳解

    這篇文章主要介紹了C++賦值函數(shù)+移動賦值函數(shù)+移動構(gòu)造函數(shù)詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08

最新評論

东台市| 太谷县| 蒲城县| 江油市| 九龙坡区| 兴隆县| 昆山市| 黑河市| 牙克石市| 鹰潭市| 许昌县| 公主岭市| 崇仁县| 伊川县| 建湖县| 高尔夫| 宜州市| 霍林郭勒市| 酒泉市| 渝中区| 如东县| 汕头市| 南召县| 青河县| 寿宁县| 福泉市| 乐清市| 余干县| 南木林县| 博爱县| 马关县| 凤阳县| 张北县| 如皋市| 沂源县| 遂溪县| 安化县| 隆德县| 古田县| 贵溪市| 孝义市|