定義數組類型


int arrayaa[10];

這個表示我定義了一個int型數組,數組名字叫arrayaa,這個數組里面有10個int型數據。

 

那如果前面加上一個typedef,那么意思就完全變了

typedef int arrayaa[10];

表示定義了一個名字叫 arrayaa的數組類型,這個數組類型的元素類型為int,且含有10個int型數據(元素)。

同樣的道理,我也可以定義一個char類型,一個double類型等等,

我可以利用這個數組類型,去定義新的數組

舉個例子

int main(void)
{
 typedef int arrayaa[10];
    arrayaa a1;
    for (int i = 0; i < 10; i++)
    {
        a1[i] = i+1;
    }
    cout<<a1[4]<<endl;
}

我定義了一個數組類型,名字叫arrayaa,然后利用這個數組類型定義了一個數組,名叫a1

接下來對a1進行了賦值操作,然后打印a1里面的第五個數,輸出為5.

 

然后看一下如何定義二維數組

和一維數組的結構是類似的

int arrayaa[10][10];

這樣就定義了一個10行10列 由100個int型元素組成的二維數組的數組類型 arrayaa

 

 

接下來我們看下面的例子:定義指針數組類型

typedef int (*arrayaa)[10];

定義了一個數組類型的指針

然后我們使用一下這個指針

int main(void)
{
    int a2[10];
    typedef int (*arrayaa)[10];
    arrayaa aa;
    aa=&a2;
    a2[1] = 10;
    cout<<a2[1]<<endl;
}

逐一的看一下這個代碼

首先定義兩個一個數組 a2,然后定義了一個和剛才數組同類型的數組類型指針 arrayaa ,用 arrayaa定義了一個變量 aa,然后將aa指向剛才定義個數組a2,並通過aa 給數組賦值打印等操作

 

我們也可以這樣做

int main(void)
{
    int a2[10];
    int (*arrayaa)[10];
    arrayaa=&a2;
    a2[1] = 10;
    cout<<a2[1]<<endl;
}

跟剛才的代碼相比,這次的就是直接定義了一個(元素類型為int  元素個數為10的數組的)指針,(而上面的例子是先定義了指針類型),將指針指向前面的a2.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM