int *a[] 與(int *)a【5】的區別

來源:互聯網
上載者:User

標籤:size   指標   數組   類   元素   優先順序   

*a[5] 是指標數組  可以指向5個值

(*a)[5]  是一個指標,但這個指標只能指向包含5個元素的一維數組   

a是一個數組,每個元素都是個指標。
b是一個指標,指向一個數組

1.int *a[5]:指標數組。本質是數組。sizeof(a)=20。sizeof計算數組的大小。5個int型即為20.
sizeof(*a)=4。數組元素是指標。*a代表的是一個指標,此求的是int  型指標的大小為4。
2.int (*a)[5]:數組指標。本質是指標。sizeof(b)是求int型指標的大小為4.*b代表是具有5個int型變數的數組,所以sizeof(*b)=20

   int *a[5];//a是一個數組,裡面存放的元素類型是int*類型。含有5個元素
    int (*b)[5];//b是一個指標,指向的是一個int[5]的數組。

int *a[5];因為[]比*優先順序高,所以它首先是一個數組,然後該數組的元素的類型是int *,所以這是一個指標數組;
int (*a)[5];因為()是超脫於優先順序之外的,所以它首先是一個指標,然後該指標指向的類型是int [5],即含有5個元素的數組,所以它是一個數組指標,如果a++,它將跨過五個整型的長度。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.