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

C語(yǔ)言 從根本上理解數(shù)組

 更新時(shí)間:2022年04月19日 10:11:03   作者:清風(fēng)自在 流水潺潺  
數(shù)組是一組有序的數(shù)據(jù)的集合,數(shù)組中元素類型相同,由數(shù)組名和下標(biāo)唯一地確定,數(shù)組中數(shù)據(jù)不僅數(shù)據(jù)類型相同,而且在計(jì)算機(jī)內(nèi)存里連續(xù)存放,地址編號(hào)最低的存儲(chǔ)單元存放數(shù)組的起始元素,地址編號(hào)最高的存儲(chǔ)單元存放數(shù)組的最后一個(gè)元素

一、數(shù)組的概念

數(shù)組是相同類型的變量的有序集合

二、數(shù)組的大小

  • 數(shù)組在一片連續(xù)的內(nèi)存空間中存儲(chǔ)元素
  • 數(shù)組元素的個(gè)數(shù)可以顯示或隱式指定

下面看一段數(shù)組初始化的代碼:

#include <stdio.h>
 
int main()
{
    int a[5] = {1, 2};
    int b[] = {1, 2};
    
    printf("a[2] = %d\n", a[2]);
    printf("a[3] = %d\n", a[3]);
    printf("a[4] = %d\n", a[4]);
    
    printf("sizeof(a) = %d\n", sizeof(a));
    printf("sizeof(b) = %d\n", sizeof(b));
    printf("count for a: %d\n", sizeof(a)/sizeof(int));
    printf("count for b: %d\n", sizeof(b)/sizeof(int));
    
    return 0;
}

下面為輸出結(jié)果:

注意數(shù)組長(zhǎng)度的計(jì)算,sizeof(數(shù)組名) / sizeof(數(shù)組元素類型)

三、數(shù)組地址與數(shù)組名

  • 數(shù)組名代表數(shù)組首元素的地址
  • 數(shù)組的地址需要用取地址符 & 才能得到
  • 數(shù)組首元素的地址值與數(shù)組的地址值相同
  • 數(shù)組首元素的地址與數(shù)組的地址是兩個(gè)不同的概念

下面看一段數(shù)組名和數(shù)組地址的代碼:

#include <stdio.h>
 
int main()
{
    int a[5] = { 0 };
 
    printf("a = %p\n", a);
    printf("&a = %p\n", &a);
    printf("&a[0] = %p\n", &a[0]);
    
    return 0;
}

下面為輸出結(jié)果:

注意:數(shù)組首元素的地址與數(shù)組的地址是兩個(gè)不同的概念,雖然它們的地址值是一樣的,但是意義確是完全不同的,不同之處在于它們所占用的內(nèi)存空間長(zhǎng)度是不一樣的。

四、數(shù)組名的盲點(diǎn)

數(shù)組名可以看做一個(gè)指針常量

數(shù)組名“指向”的是內(nèi)存中數(shù)組首元素的起始位置

數(shù)組名不包含數(shù)組的長(zhǎng)度信息

在表達(dá)式中數(shù)組名只能作為右值使用

只有在下列場(chǎng)合中數(shù)組名不能看做指針常量

  • 數(shù)組名作為 sizeof 操作符的參數(shù)
  • 數(shù)組名作為 & 運(yùn)算符的參數(shù)

下面通過(guò)一段代碼,說(shuō)明數(shù)組和指針并不相同:

#include <stdio.h>
 
int main()
{
    int a[5] = {0};
    int b[2];
    int* p = NULL;
    
    p = a;
    
    printf("a = %p\n", a);
    printf("p = %p\n", p);
    printf("&p = %p\n", &p);
    printf("sizeof(a) = %d\n", sizeof(a));
    printf("sizeof(p) = %d\n", sizeof(p));
   
    printf("\n");
 
    p = b;
    
    printf("b = %p\n", b);
    printf("p = %p\n", p);
    printf("&p = %p\n", &p);
    printf("sizeof(b) = %d\n", sizeof(b));
    printf("sizeof(p) = %d\n", sizeof(p));
    
    //b = a;
  
    return 0;
}

輸出結(jié)果如下:

sizeof(a) = 20,sizeof(p) = 4,這就說(shuō)明了指針和數(shù)組是兩個(gè)不相同的東西。

五、小結(jié)

  • 數(shù)組是一片連續(xù)的內(nèi)存空間
  • 數(shù)組的地址和數(shù)組首元素的地址意義不同
  • 數(shù)組名在大多數(shù)情況下被當(dāng)成指針常量處理
  • 數(shù)組名其實(shí)并不是指針,不能將其等同于指針

到此這篇關(guān)于C語(yǔ)言 從根本上理解數(shù)組的文章就介紹到這了,更多相關(guān)C語(yǔ)言 數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ vector使用的一些注意事項(xiàng)

    C++ vector使用的一些注意事項(xiàng)

    這篇文章主要給大家介紹了關(guān)于C++ vector使用的一些注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解基于Matlab的空心散點(diǎn)檢測(cè)

    詳解基于Matlab的空心散點(diǎn)檢測(cè)

    這篇文章主要介紹了如何利用Matlab實(shí)現(xiàn)空心散點(diǎn)檢測(cè),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Matlab有一定的幫助,感興趣的可以跟隨小編了解一下
    2022-02-02
  • 深入C++拷貝構(gòu)造函數(shù)的總結(jié)詳解

    深入C++拷貝構(gòu)造函數(shù)的總結(jié)詳解

    本篇文章是對(duì)C++中拷貝構(gòu)造函數(shù)進(jìn)行了總結(jié)與介紹。需要的朋友參考下
    2013-05-05
  • QT5實(shí)現(xiàn)電子時(shí)鐘

    QT5實(shí)現(xiàn)電子時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了QT5實(shí)現(xiàn)電子時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語(yǔ)言中遞歸和排列組合詳解

    C語(yǔ)言中遞歸和排列組合詳解

    大家好,本篇文章主要講的是C語(yǔ)言中遞歸和排列組合詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 詳解C++中的inline用法

    詳解C++中的inline用法

    在c/c++中,為了解決一些頻繁調(diào)用的小函數(shù)大量消耗??臻g(棧內(nèi)存)的問(wèn)題,特別的引入了inline修飾符,表示為內(nèi)聯(lián)函數(shù)。 棧空間就是指放置程序的局部數(shù)據(jù)(也就是函數(shù)內(nèi)數(shù)據(jù))的內(nèi)存空間
    2017-09-09
  • c++ base64編解碼使用示例

    c++ base64編解碼使用示例

    這篇文章主要介紹了c++的base64編解碼使用示例,需要的朋友可以參考下
    2014-02-02
  • 深入淺析c/c++ 中的static關(guān)鍵字

    深入淺析c/c++ 中的static關(guān)鍵字

    C++的static有兩種用法:面向過(guò)程程序設(shè)計(jì)中的static和面向?qū)ο蟪绦蛟O(shè)計(jì)中的static。本文重點(diǎn)給大家介紹c/c++ 中的static關(guān)鍵字,感興趣的朋友跟隨小編一起看看吧
    2018-08-08
  • Qt使用QListWidget實(shí)現(xiàn)自定義Item

    Qt使用QListWidget實(shí)現(xiàn)自定義Item

    這篇文章主要為大家詳細(xì)介紹了Qt如何使用QListWidget實(shí)現(xiàn)自定義Item的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 使用UDP協(xié)議實(shí)現(xiàn)單詞翻譯服務(wù)器

    使用UDP協(xié)議實(shí)現(xiàn)單詞翻譯服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了如何使用UDP協(xié)議實(shí)現(xiàn)英文單詞翻譯服務(wù)器,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下
    2023-08-08

最新評(píng)論

阜宁县| 天长市| 巴东县| 漳浦县| 江达县| 佳木斯市| 贵州省| 府谷县| 大理市| 嘉峪关市| 舒兰市| 崇礼县| 托里县| 武山县| 泸水县| 惠州市| 沂南县| 洛宁县| 藁城市| 禄劝| 恩平市| 海南省| 安化县| 滕州市| 英吉沙县| 自治县| 绥棱县| 竹北市| 仙桃市| 松江区| 达日县| 海门市| 晋州市| 日照市| 白玉县| 沁源县| 沾化县| 达拉特旗| 长顺县| 无极县| 香格里拉县|