深入理解int a[5];
生活随笔
收集整理的這篇文章主要介紹了
深入理解int a[5];
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
深入理解int a[5];
1)定義了一個數組,其包含了5 個int 型的數據。我們可以用a[0],a[1]等來訪問數組里面的每一個元素。
2)當我們定義一個數組a 時,編譯器根據指定的元素個數和元素的類型分配確定大小(元素類型大小*元素個數)的一塊內存,并把這塊內存的名字命名為a。名字a 一旦與這塊內存匹配就不能被改變。
3)a[0],a[1]等為a 的元素,但并非元素的名字。數組的每一個元素都是沒有名字的。
4)sizeof(a)的值為sizeof(int)*5,32 位系統下為20。?
? ?sizeof(a[0])的值為sizeof(int),32 位系統下為4。
5)sizeof(a[5])的值在32 位系統下為4。并沒有出錯,為什么呢?我們講過sizeof 是關鍵字,而不是函數。函數求值是在運行的時候,而關鍵字sizeof 求值是在編譯的時候。雖然并不存在a[5]這個元素,但是這里也并沒有去真正訪問a[5],而是僅僅根據數組元素的類型來確定其值。所以這里使用a[5]并不會出錯。
6)sizeof(&a[0])的值在32 位系下為4,取元素a[0]的首地址。?
7)sizeof(&a)的值在32 位系統下也為4,取數組a 的首地址。
1)定義了一個數組,其包含了5 個int 型的數據。我們可以用a[0],a[1]等來訪問數組里面的每一個元素。
2)當我們定義一個數組a 時,編譯器根據指定的元素個數和元素的類型分配確定大小(元素類型大小*元素個數)的一塊內存,并把這塊內存的名字命名為a。名字a 一旦與這塊內存匹配就不能被改變。
3)a[0],a[1]等為a 的元素,但并非元素的名字。數組的每一個元素都是沒有名字的。
4)sizeof(a)的值為sizeof(int)*5,32 位系統下為20。?
? ?sizeof(a[0])的值為sizeof(int),32 位系統下為4。
5)sizeof(a[5])的值在32 位系統下為4。并沒有出錯,為什么呢?我們講過sizeof 是關鍵字,而不是函數。函數求值是在運行的時候,而關鍵字sizeof 求值是在編譯的時候。雖然并不存在a[5]這個元素,但是這里也并沒有去真正訪問a[5],而是僅僅根據數組元素的類型來確定其值。所以這里使用a[5]并不會出錯。
6)sizeof(&a[0])的值在32 位系下為4,取元素a[0]的首地址。?
7)sizeof(&a)的值在32 位系統下也為4,取數組a 的首地址。
總結
以上是生活随笔為你收集整理的深入理解int a[5];的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: union与struct的区别?
- 下一篇: 以指针的形式和以下标的形式访问指针?以指