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

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

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

一、數(shù)組的概念

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

二、數(shù)組的大小

  • 數(shù)組在一片連續(xù)的內存空間中存儲元素
  • 數(shù)組元素的個數(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;
}

下面為輸出結果:

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

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

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

下面看一段數(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;
}

下面為輸出結果:

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

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

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

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

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

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

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

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

下面通過一段代碼,說明數(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;
}

輸出結果如下:

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

五、小結

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

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

相關文章

  • C++ vector使用的一些注意事項

    C++ vector使用的一些注意事項

    這篇文章主要給大家介紹了關于C++ vector使用的一些注意事項,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C++具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • 詳解基于Matlab的空心散點檢測

    詳解基于Matlab的空心散點檢測

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

    深入C++拷貝構造函數(shù)的總結詳解

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

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

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

    C語言中遞歸和排列組合詳解

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

    詳解C++中的inline用法

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

    c++ base64編解碼使用示例

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

    深入淺析c/c++ 中的static關鍵字

    C++的static有兩種用法:面向過程程序設計中的static和面向對象程序設計中的static。本文重點給大家介紹c/c++ 中的static關鍵字,感興趣的朋友跟隨小編一起看看吧
    2018-08-08
  • Qt使用QListWidget實現(xiàn)自定義Item

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

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

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

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

最新評論

太原市| 台东县| 淳化县| 秭归县| 平塘县| 房产| 屯门区| 巴林左旗| 古田县| 六盘水市| 丹棱县| 元阳县| 荃湾区| 麻栗坡县| 美姑县| 通海县| 德江县| 齐河县| 新巴尔虎左旗| 呼伦贝尔市| 密云县| 平凉市| 宜兰市| 伊通| 凤翔县| 遂溪县| 方正县| 武川县| 申扎县| 德兴市| 扎赉特旗| 峨边| 开封市| 靖江市| 香格里拉县| 开江县| 兴城市| 揭阳市| 辽中县| 班戈县| 西丰县|