數(shù)組

數(shù)組

百度百科:所謂數(shù)組,是有序的元素序列。若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標變量。用于區(qū)分數(shù)組的各個元素的數(shù)字編號稱為下標。數(shù)組是在程序設(shè)計中,為了處理方便, 把具有相同類型的若干元素按無序的形式組織起來的一種形式。這些無序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組。
按我的話來說,就是一堆同類型元素的集合體,按照連續(xù)的存儲方式在內(nèi)存存儲。


數(shù)組

出現(xiàn)的原因

比如在定義整型數(shù)據(jù)時,需要定義n個整型變量,那就要寫n個定義的語句,這樣的工作是十分繁瑣且無意義的,就需要數(shù)組的出現(xiàn),只要定義一條語句就可以。


數(shù)組出現(xiàn)原因

一維數(shù)組定義與使用

  //數(shù)據(jù)類型 數(shù)組名[元素個數(shù)]
    int array[10];   //定義一個整形數(shù)組,有10個元素

賦值操作

    int arra[5] = {1,2,3,4,5};  //定義時賦值
    int arr[5] = {1,2,3};       //可以賦值部分,剩余的值均為0
    int a[5] = {0};             //直接賦值為0
    int b[] = {1,2,3,4,5};      //定義后面緊跟賦值操作時,可以省略賦值操作
    int array[5];
    array[0] = 1;               //通過數(shù)組下標賦值
    array[1] = 2;
    array[2] = 3;
    array[3] = 4;
    array[4] = 5;

獲取數(shù)組個數(shù)

    int b[] = {1,2,3,4,5};
    int size = sizeof(b)/sizeof(b[0]);       //獲取數(shù)組大小
過程詳解

注意下標從0開始,因為機器的底層都是二進制,就0和1,所以下標從0開始。到元素個數(shù)-1結(jié)束。要避免數(shù)組越界,不然會操作非法內(nèi)存,出現(xiàn)段錯誤。

二維數(shù)組

二維數(shù)組由多個一維數(shù)組組成,使用方法與一維數(shù)組無異。

    //數(shù)據(jù)類型 數(shù)組名[元素個數(shù)][元素個數(shù)]
    int array[2][3];   //定義一個整形二維數(shù)組,有2*3個元素,也可以理解成兩行三列

在定義時,后面沒有賦值操作,兩個[ ]內(nèi)元素個數(shù)不可省略,不然編譯器不知道分配多大內(nèi)存,報錯。
賦值操作:與一維數(shù)組差不多

    int array[][3] = {1,2,3,4};       //系統(tǒng)自動計算為2*3的數(shù)組,后面的數(shù)據(jù)補為0
    int arra[2][3] = {0};
    int arr[2][3] = {{1,2,3},{4,5,6}};//完全賦值
    int ar[2][3] = {1,2,3,4,5,6};     //和上面的方面一樣,系統(tǒng)會自動將數(shù)據(jù)分開
    
    int a[2][3];
    a[0][0] = 1;                      //下標賦值法
過程詳解

獲取數(shù)組元素個數(shù)

    int r = sizeof(a)/sizeof(a[0]);       //獲取行
    int j = sizeof(a[0])/sizeof(a[0][0]); //獲取列

數(shù)組大小 = 元素類型的字節(jié)數(shù)*元素個數(shù)

數(shù)組本質(zhì)

數(shù)組就是多個連續(xù)的同種類型的內(nèi)存塊,本質(zhì)還是一個數(shù)據(jù)。二維數(shù)組并不是數(shù)據(jù)在內(nèi)存中分行與列,只是讓我們感性認知,取二維數(shù)組這個名字。本質(zhì)就是多個一維數(shù)組連在一起,組成二維數(shù)組。

數(shù)組本質(zhì)

注意事項

使用數(shù)組謹記下標從0開始,到元素個數(shù)減一結(jié)束,如果數(shù)組下標越界,會操作非法內(nèi)存,程序可能會出錯,調(diào)試會很痛苦。

數(shù)組的簡單介紹結(jié)束。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)組在程序設(shè)計中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數(shù)據(jù)元素的集合稱...
    朱森閱讀 4,271評論 2 13
  • 第四天 數(shù)組【悟空教程】 第04天 Java基礎(chǔ) 第1章數(shù)組 1.1數(shù)組概念 軟件的基本功能是處理數(shù)據(jù),而在處理數(shù)...
    Java幫幫閱讀 1,682評論 0 9
  • 七、數(shù)組 在C語言中,數(shù)組屬于構(gòu)造數(shù)據(jù)類型。數(shù)組根據(jù)元素的類型不同,數(shù)組又可以分為 數(shù)值數(shù)組 、字符數(shù)組 、指針數(shù)...
    堅持到底v2閱讀 901評論 0 2
  • 謹記 每個人心中都有一片海,自己不揚帆,沒人幫您啟航,久了就是一片死海。人生,就是一場自己與自己的較量:讓積極打敗...
    長風(fēng)留言閱讀 8,146評論 6 10
  • 一、聽課感受 聽完本節(jié)《內(nèi)修高手“躍遷”心法 (解讀第五章)》,書寫您最大的三點收獲。 (一)開放而專注 永澄老師...
    多做減法閱讀 308評論 0 0

友情鏈接更多精彩內(nèi)容