獲取vector元素個數 請問在C語言中如何獲取一個數組里存在多少個元素?
請問在C語言中如何獲取一個數組里存在多少個元素?有一個獲取數組元素數的函數:sizeof!其原理是:sizeof獲取數組的長度,然后將其除以數據類型的長度得到元素數。我只寫下代碼:inta[100]=
請問在C語言中如何獲取一個數組里存在多少個元素?
有一個獲取數組元素數的函數:sizeof!其原理是:sizeof獲取數組的長度,然后將其除以數據類型的長度得到元素數。我只寫下代碼:inta[100]={1,2,3,4}intlen=sizeof(a)/sizeof(int)printf(%d“,len)。以上是原始答案,但有錯誤:給定數組大小時,Sizeof不起作用。我沒有注意到我當時犯了一些錯誤。請原諒我一年后修改了這個答案。我認為int array的默認值是0,這稱為初始化。假設非0是一個有效元素。While(I<100){if(a[I]!=0)count I}遍歷并記錄具有終止符的字符數組。您只需要找到終止符的位置
sizeof(a)/sizeof(a[0])。這是在定義時分配給它的數組的總長度,其中a是數組的名稱。三樓的兄弟用一個環(huán)計算數組的實際長度。但是,如果數組中有元素為0的成員,則會出現問題。因此,如果要返回存儲在數組中的元素數,除非知道這批數據中肯定沒有數字,否則if-100,那么可以使用if判斷遍歷整個數組并計算數字。
如果使用STL中的向量,即動態(tài)數組,則可以直接調用其中一個方法來計算數組中存儲的元素數。
如何獲得數組的元素個數?
獲取數組元素數的方法:堆區(qū)域中的數組。堆區(qū)域中的數組是自己應用的。例如,new用于應用空格:int*arr=newint[10]。堆區(qū)域中的數組無法計算元素數。堆疊區(qū)域陣列由系統(tǒng)自動分配。但是,通過將array name參數傳遞給子函數來獲取數組長度是不可行的,因為在子函數中,數組名稱將退化為指針。
怎么獲得數組元素的個數?
有一個獲取數組元素數的函數:sizeof!其原理是:sizeof獲取數組的長度,然后將其除以數據類型的長度得到元素數。我只寫下代碼:inta[100]={1,2,3,4}intlen=sizeof(a)/sizeof(int)printf(%dn,len)。以上是最初的答案。出現錯誤:給定數組大小時,sizeof不起作用。我沒有注意到我犯了一些錯誤請原諒我一年后修改了這個答案~我以為int array的默認值是0,這叫初始化。假設non-0是有效元素,而(I<100){if(a[I]!=0)計數I}遍歷。記錄字符數組有一個終止符,只要找到終止符的位置,就可以使用
JScript語言引用
-----------------------------------------------------------------
長度屬性(數組)
返回一個大于數組下標1的整數值數組中定義的最上面的元素。
numVar=數組長度
參數
numvar
必需。任何數字。
Arrayobj
必需。任何數組對象。
注意
因為數組中的元素不一定是連續(xù)的,所以length屬性不一定等于數組中的元素數。例如,在下面的數組定義中,myu數組長度而不是2:
var myuarray=new array()
myuarray[0]=“Test”
myuarray[6]=“another Test”
如果給定的長度屬性值小于原始值,則數組將被截斷,數組下標等于或大于length屬性的新值的所有元素都將丟失。
如果給length屬性一個大于原始值的值,數組將展開,所有新元素都將分配為未定義。
下面的示例演示了length屬性的用法:
function lengthdemo(){
var a
a=新數組(0,1,2,3,4)
return(a.length)
}
requirement
version 2
請參考
length attribute(function)| length attribute(string)
應用于:array object
數組在C中可以分為堆區(qū)域數組和堆棧區(qū)域數組,對于兩種數組C沒有函數可以獲取數組的元素個數直接數組。1、 堆區(qū)域的數組是自己應用的。例如,new用于應用空間:int*arr=new int[10]堆區(qū)域數組中的元素數無法計算。2、 堆棧區(qū)域的數組由系統(tǒng)自動分配,例如:[CPP]view plain copy