[FAQ集] 陣列:如何知道陣列的元素個數?
ptt.cc BBS 站 C_and_CPP 板 FAQ (0.1版)
陣列的問題
Q: 如何知道陣列的元素個數?
A: 要看一開始是用什麼方式宣告的陣列。若是靜態宣告的陣列,可以用 sizeof
運算子算出來。如
void foo1()
{
int arr[] = { 1, 3, 5, 7, 9, 2, 4, 6 };
/* ... */
std::cout << "arr has " << sizeof(arr)/sizeof(arr[0])
<< " elements\n";
}
若是動態配置的陣列,則必需在動態配置當初,就將配置了幾個元素「記錄」
下來。標準C/C++ 並未提供事後決定其元素個數的方法。
void foo2()
{
const size_t SIZE = 10;
int* arr = new int[SIZE];
// ...
std::cout << "arr has " << SIZE << " elements\n";
}
by Khoguan Phuann
-----------------------------------
敬請指正錯誤,或提出更合適的答案。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.208.167
※ 編輯: khoguan 來自: 220.130.208.167 (09/26 12:51)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章