『壹』 C中怎樣求一個整形數組的長度
int GetNum(int a[])
{
int n=0;
while (a[n]!=-858993460)
{
n++;
}
return i;
}
『貳』 如何一次性算出整形數組的實際長度
整型數組長度就是固定的,預先指定的。沒有求長度的操作。至於你指定的情況,是可以用vector數據結構來處理的。
『叄』 C中怎樣整形數組的長度
c語言復中,定義數組後可以制用sizeof命令獲得數組的長度(可容納元素個數)
如:
{
int data[4];
int length;
length=sizeof(data)/sizeof(data[0]); //數組占內存總空間,除以單個元素占內存空間大小
printf("length of data[4]=%d", length ); //輸出length of data[4]=4
}
『肆』 C語言中計算數組長度的方法是什麼
c語言中,定義數組後可以用sizeof命令獲得數組的長度(可容納元素個數)。
例如:
int data[4];
int length;
length=sizeof(data)/sizeof(data[0]); //數組占內存總空間,除以單個元素占內存空間大小
printf("length of data[4]=%d", length ); //輸出length of data[4]=4
但是,通過傳遞數組名參數到子函數中,以獲得數組長度是不可行的。
例如:
int getLength(int[] a)
{ int length;length=sizeof(a)/sizeof(a[0]); //這樣是錯誤的,得到的結果永遠是1
return length;
}
因為,a是函數參數,到了本函數中,a只是一個指針(地址,系統在本函數運行時,是不知道a所表示的地址有多大的數據存儲空間,這里只是告訴函數:一個數據存儲空間首地址),所以,sizoef(a)的結果是指針變數a占內存的大小,一般在32位機上是4個位元組。a[0]是int類型,sizeof(a[0])也是4個位元組,所以,結果永遠是1。3、因此,獲得數組長度,只能在數組定義所在的代碼區中,採用以上方法,才可以達到效果。
還要注意,在C語言中,整形數組和字元數組的大小是有區別的,整形數組大小:sizeof(數組名)/sizeof(數組類型)。字元數組大小:strlen(數組名)+1,1因為要加上'/0',所以再加1。
『伍』 C語言 怎麼計算整型數組的長度
假設數組名為a
則用語句:sizeof(a)/sizeof(a[0]);
『陸』 c++ 怎麼取整形數組的長度
一般情況用sizeof運算符,
比如一個叫array名字的數組:
int
len
=
sizeof(array)/sizeof(array[0]);
len
就保存了array的數組長度。
另外,如果數專組是引用傳屬遞可以通過函數模板的實參推斷來自動獲得它長度,代碼如下:
//連續列印一個數組的元素到控制台
template
<typename
T,
int
N>
void
print(T
(&arr)[N])
{
for
(int
i=0;
i<N;
++i){
cout
<<
arr[i];
}
}
//示例
int
main()
{
int
arrays[]
=
{1,2,3,4,5};
print(arrays);
return
0;
}
『柒』 C++中,怎麼求整型數組的實際長度
這個 你可以定義一個 int nSzie= 0;
每插入一個數nSzie+1;
或者自己寫一個函數,遍歷一下數組,就可以得到其大小。
『捌』 怎樣求整型數組的長度
//該函數為求字元串長度的函數,規定字元串結尾為0x0,即NULL
//而你是求整形數組的長回度,這個你用sizeof(La)/sizeof(List)即可答求出來,
//注意:因為sizeof是編譯器預處理,編譯器不同可能會造成求出的結果為指針長度和數組長度兩種情況,vc下是數組長度
int Listlength(List *L){
int count=0;
List p=L;
while (p!=NULL)
{count++;
p++;}
return count;
}
『玖』 求整型數組長度的問題~·~
#include <stdio.h>
typedef int List;
int Listlength(List *L) {
int count = 0;
List *p = L;
while (p != NULL) {
count++;
p++;
}
return count;
}//求數組L的長度復制
int main() {
List La[] = { 1, 3, 6, 8, 9, 15}, i;
i = Listlength(La);
printf("%d", i);
}
首先,可以讓你編譯通過。
其次,你的思路是錯的。
求數組長度 是 sizeof(La)/sizeof(List)
錯誤理由,p!=NULL是無法判斷正確的,當p指向數組外時,p還是一個有效的地址,不可能為NULL。所以無法實現。