一維陣列名
#include
using
namespace std;
intmain()
; cout <<
"整個陣列所佔記憶體空間為: "
<<
sizeof
(arr)
<< endl;
cout <<
"每個元素所佔記憶體空間為: "
<<
sizeof
(arr[0]
)<< endl;
cout <<
"陣列的元素個數為: "
<<
sizeof
(arr)
/sizeof
(arr[0]
)<< endl;
//2、可以通過陣列名獲取到陣列首位址
cout <<
<<
(int
)arr << endl;
cout <<
<<
(int
)&arr[0]
<< endl;
cout <<
<<
(int
)&arr[1]
<< endl;
//arr = 100; 錯誤,陣列名是常量,因此不可以賦值
return0;
}
二維陣列名
#include
using
namespace std;
intmain()
,,};
//1、可以獲取整個陣列占用記憶體空間大小
cout <<
"二維陣列大小: "
<<
sizeof
(arr)
<< endl;
cout <<
"二維陣列一行大小: "
<<
sizeof
(arr[0]
)<< endl;
cout <<
"二維陣列元素大小: "
<<
sizeof
(arr[0]
[0])
<< endl;
cout <<
"二維陣列行數: "
<<
sizeof
(arr)
/sizeof
(arr[0]
)<< endl;
cout <<
"二維陣列列數: "
<<
sizeof
(arr[0]
)/sizeof
(arr[0]
[0])
<< endl;
//2、可以通過陣列名獲取到陣列首位址
cout <<
<< arr << endl;
cout <<
<< arr[0]
<< endl;
cout <<
<< arr[1]
<< endl;
cout <<
<<
&arr[0]
[0]<< endl;
cout <<
<<
&arr[0]
[1]<< endl;
return0;
}
陣列名和陣列名的取址
關於陣列名和指標的區別 推薦看這兩篇文章 示例 char a 3 輸出10進製位址 輸出 a 為 2686777 a 為 2686777 a是陣列名,編譯器處理時相當於陣列首元素的位址 a是乙個指向陣列的指標,值為陣列的位址,等於陣列首元素的位址 輸出 a 為 1 a 為 1 a 為 2686777...
sizeof 陣列名 及strlen(陣列名)
程式的輸出結果為 1 100 2 4 3 1 相當於a 100 這個數所佔的位元組大小,也就是乙個char位元組占得大小 當陣列作為函式的引數進行傳遞時,該陣列自動退化為同型別的指標。不論陣列a的容量是多少,sizeof a 始終等於sizeof char func char p int main ...
陣列名和陣列名取位址
在c中,在幾乎所有使用陣列的表示式中,陣列名的值是個指標常量 也就是陣列第乙個元素的位址。它的型別取決於陣列元素的型別 如果它們是int型別,那麼陣列名的型別就是 指向int的常量指標 在以下兩種場合下,陣列名並不是用指標常量來表示,就是當陣列名作為sizeof操作符和單目操作符 的運算元時。siz...