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

C語(yǔ)言的數(shù)組與指針可以這樣了解

 更新時(shí)間:2021年08月26日 16:12:55   作者:寶全哥哥  
這篇文章主要介紹了C語(yǔ)言的數(shù)組與指針,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下,希望能給你帶來(lái)幫助

前言

自學(xué)筆記,沒(méi)有歷史知識(shí)鋪墊(省略百度部分)C語(yǔ)言數(shù)組的概念及使用

一、數(shù)組的定義

char a[n];
注意:數(shù)組與指針?lè)浅O嗨?br /> 二者的區(qū)別:

數(shù)組為常量,約定禁止二次賦值,即數(shù)組不應(yīng)該出現(xiàn)在=左側(cè),如:a="HelloWorld";數(shù)組在聲明時(shí),會(huì)申請(qǐng)一段連續(xù)的內(nèi)存空間,指針不會(huì)數(shù)組元素為變量,標(biāo)記可以修改指向任意內(nèi)存(實(shí)際上會(huì)copy右側(cè)變量/常量到左側(cè)數(shù)組元素變量中,產(chǎn)生兩份內(nèi)存,如a[2]="HelloWorld";),而指針指向常量后,再指向其他常量會(huì)產(chǎn)生段錯(cuò)誤異常

二者相同點(diǎn):

C語(yǔ)言數(shù)組沒(méi)有越界問(wèn)題,甚至可以a[-3]寫(xiě)法,數(shù)組和指針都可以訪問(wèn)任意內(nèi)存地址的內(nèi)容
int main(int argc, char **argv)
{
    char a4 = 'A';
    char a[2] = {'B', 'C'};
    char a3 = 'D';
    //讀取結(jié)果:41 ASCII中 16位的41對(duì)應(yīng)字母A
    printf("讀取結(jié)果:%X", a[2]);
    return 0;
}

二、數(shù)組空間的初始化

1. char數(shù)組賦值

char buf[10]={'A','B'}; 等價(jià)于 char buf[]={'A','B'};,前者數(shù)組長(zhǎng)度為10,可在10范圍內(nèi)增減,后者數(shù)組長(zhǎng)度為聲明時(shí)數(shù)組當(dāng)前的長(zhǎng)度2,根據(jù)實(shí)際情況選擇,后續(xù)同原理
注意:上述賦值可以作為普通字符內(nèi)存使用,不能當(dāng)作字符串使用,如果當(dāng)作字符串,需要如下賦值
char buf[3]={'A','B','\0'};

char buf[3]={"ab"};
注意:上述賦值可以作為字符串使用,但不能作為普通字符內(nèi)存使用,默認(rèn)會(huì)多出\0
char buf[3]="ab";
注意:上述操作意義為:將右側(cè)的常量從常量區(qū)copy一份到左側(cè)的變量區(qū),該操作會(huì)產(chǎn)生兩個(gè)存儲(chǔ)"ab"內(nèi)存
右側(cè)"ab"是常量不可修改,左側(cè)buf變量的"ab"是可以修改的

2.char數(shù)組硬件開(kāi)發(fā)規(guī)范

char buf[10];表示存儲(chǔ)的字符/字符串(最后一位為\0)unsigned char buf[10];表示交互普通數(shù)據(jù)(最高位可以用于數(shù)據(jù)操作,粒度為bit)嵌入式開(kāi)發(fā)中禁止使用strcpy();函數(shù)(必須找到\0才會(huì)結(jié)束,有漏洞),copy可以使用strncpy();,內(nèi)存copy可以使用memcpy();

拷貝三要素

srcdest個(gè)數(shù)

注意:內(nèi)存copy

int main()
{
    int buf[10];
    int srcBuf[100]={1,2,3,4,5};
    memcpy(buf,srcBuf,10*sizeof(int));
    //buf[0]:1
    printf("buf[0]:%d",buf[0]);
    unsigned char bufChar[10];
    unsigned char srcBufChar[100]={11,22,33,44};
    memcpy(bufChar,srcBufChar,10*sizeof(char));
    //bufChar:22
    printf("bufChar:%d",bufChar[1]);
    return 0;
}

二、數(shù)組與指針

注意:
1.指針的修飾符修飾的是指針一次讀取的數(shù)量
2.當(dāng)指針指向多維數(shù)組時(shí),只通過(guò)int就無(wú)法滿足要求,如int b[3][4],表示每行b[n]都存儲(chǔ)了sizeof(int)*4個(gè)字節(jié),指針定義時(shí)也需要做對(duì)應(yīng)的讀取數(shù)量調(diào)整,int (*p)[4]才能滿足,此處的()必須添加,讓編譯器優(yōu)先讀取*p,再通過(guò)int修飾符和[]識(shí)別指針的容量為sizeof(int)*4個(gè)字節(jié)
3.多維數(shù)組概念一致

int main()
{
    int a[10];
    int b[3][4];
    int c[3][4][5];
    int *p1 = a;
    int(*p2)[4] = b;
    int(*p3)[4][5] = c;
    return 0;
}

總結(jié)

本章主要為C語(yǔ)言數(shù)組的概念及使用

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 詳解C++泛型裝飾器

    詳解C++泛型裝飾器

    這篇文章主要為大家介紹了C++的泛型裝飾器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • C語(yǔ)言仿QQ聊天界面抖動(dòng)功能

    C語(yǔ)言仿QQ聊天界面抖動(dòng)功能

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言仿QQ聊天界面抖動(dòng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 詳解C語(yǔ)言初階之函數(shù)

    詳解C語(yǔ)言初階之函數(shù)

    這篇文章主要介紹了C語(yǔ)言中的初階函數(shù),介紹了其相關(guān)概念,具有一定參考價(jià)值。需要的朋友可以了解下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • C語(yǔ)言實(shí)現(xiàn)飛機(jī)大戰(zhàn)

    C語(yǔ)言實(shí)現(xiàn)飛機(jī)大戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Qt4和Qt5的信號(hào)和槽的使用區(qū)別

    Qt4和Qt5的信號(hào)和槽的使用區(qū)別

    本文主要介紹了Qt4 和 Qt5 的信號(hào)和槽的連接 connect 與斷開(kāi) disconnect 區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 解析OpenSSL1.1.1?centos7安裝編譯aes的c++調(diào)用

    解析OpenSSL1.1.1?centos7安裝編譯aes的c++調(diào)用

    這篇文章主要介紹了OpenSSL1.1.1?centos7安裝編譯aes的c++調(diào)用,實(shí)現(xiàn)方法也很簡(jiǎn)單,主要是在該文檔內(nèi)加入openssl的lib路徑,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • C/C++可變參數(shù)的使用

    C/C++可變參數(shù)的使用

    可變參數(shù)的使用方法遠(yuǎn)遠(yuǎn)不止以下幾種,不過(guò)在C,C++中使用可變參數(shù)時(shí)要小心,在使用printf()等函數(shù)時(shí)傳入的參數(shù)個(gè)數(shù)一定不能比前面的格式化字符串中的’%’符號(hào)個(gè)數(shù)少,否則會(huì)產(chǎn)生訪問(wèn)越界,運(yùn)氣不好的話還會(huì)導(dǎo)致程序崩潰
    2013-09-09
  • C語(yǔ)言淺析指針的使用

    C語(yǔ)言淺析指針的使用

    C語(yǔ)言這門(mén)課程在計(jì)算機(jī)的基礎(chǔ)教學(xué)中一直占有比較重要的地位,然而要想突破C語(yǔ)言的學(xué)習(xí),對(duì)指針的掌握是非常重要的,本文將具體針對(duì)指針的基礎(chǔ)做詳盡的介紹
    2022-07-07
  • C++實(shí)現(xiàn)訪問(wèn)者模式的基礎(chǔ)介紹

    C++實(shí)現(xiàn)訪問(wèn)者模式的基礎(chǔ)介紹

    訪問(wèn)者模式表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中各元素的操作,它使我們可以在不改變各元素的類(lèi)的前提下定義作用于這些元素的新操作。對(duì)C++訪問(wèn)者模式相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-09-09
  • 詳解C++?中?shared_ptr?weak_ptr

    詳解C++?中?shared_ptr?weak_ptr

    shared_ptr?是一個(gè)標(biāo)準(zhǔn)的共享所有權(quán)的智能指針,允許多個(gè)指針指向同一個(gè)對(duì)象,定義在?memory?文件中,命名空間為?std,這篇文章主要介紹了C++?中?shared_ptr?weak_ptr,需要的朋友可以參考下
    2022-07-07

最新評(píng)論

万荣县| 天等县| 叶城县| 界首市| 潢川县| 新田县| 民权县| 上高县| 屯昌县| 泰和县| 伊川县| 兰西县| 灵寿县| 新和县| 加查县| 江油市| 新泰市| 金华市| 桃园市| 高雄市| 乌鲁木齐县| 香港| 辉南县| 察雅县| 莱芜市| 辽宁省| 贵德县| 重庆市| 永年县| 沙洋县| 西青区| 丰顺县| 临汾市| 平昌县| 灵璧县| 通渭县| 巴彦淖尔市| 鄂托克旗| 广安市| 晋中市| 含山县|