對於字串陣列,使用strlen()函式來獲取字串陣列的長度。
char a1 = "fwegweasdasdwqew";
cout << strlen(a1) << endl;
例如: int arr = ;可以用sizeof(a)/sizeof(a[0])來獲取陣列的長度。
原理:sizeof()函式可以返回陣列所佔的記憶體,而sizeof(a[0])返回的是陣列第乙個元素所佔的記憶體。
所以式子:**sizeof(a)/sizeof(a[0])**得到的就是陣列的個元素個數,也就是陣列的長度。
舉例說明:
#include
using
namespace std;
template
<
class
t>
intlength
(t& arr)
intmain()
;// 方法一
cout <<
"陣列的長度為:"
<<
length
(arr)
<< endl;
// 方法二
//cout << end(arr) << endl;
//cout << begin(arr) << endl;
cout <<
"陣列的長度為:"
<<
end(arr)
-begin
(arr)
<< endl;
system
("pause");
return0;
}
1 在c++中,如果要多次獲取不同陣列的長度,為了避免重複寫**,可以定義乙個求陣列長度的模板。
template int getlength(t& array)
2 陣列的傳遞形式:
#include
using
namespace std;
intgetsize
(int data)
intmain()
;int size1 =
sizeof
(data1)
;int
*data2 = data1;
int size2 =
sizeof
(data2)
;int size3 =
getsize
(data1)
;
cout<" "<" "
}
陣列作為函式引數傳遞的時候,傳遞的是指標,所以不能正確的求出子函式中傳遞進去的陣列的長度,切記。
詳細的可以看我的另一篇部落格:c++中陣列作為函式引數的注意問題
C 獲取陣列長度
c c 中如何獲取陣列的長度?如何獲取陣列的長度 2010 12 15 20 49 c c 中如何獲取陣列的長度?收藏 c c 中沒有提供 直接獲取陣列長度的函式,對於存放字串的字元陣列提供了乙個strlen函式獲取長度,那麼對於其他型別的陣列如何獲取他們的長度呢?其中一種方法是使 用sizeof ...
C 獲取陣列長度
一 靜態陣列。比如 int int ary 5 靜態陣列在編譯的時候就知道了陣列長度,這對編譯器來說挺好實現的。用得最多的大概就是sizeof了吧 define countof macro x sizeof x sizeof x 0 對於c 可以用模板。如果將陣列作為函式形參的話,它會退化成乙個指標...
C語言獲取陣列長度
1 c語言中,定義陣列後可以用sizeof命令獲得陣列的長度 可容納元素個數 例如 double a int length length sizeof a sizeof a 0 陣列佔記憶體總空間,除以單個元素佔記憶體空間大小 printf length of a d length 輸出length...