❶ 怎樣求整型數組的長度
//該函數為求字元串長度的函數,規定字元串結尾為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;
}
❷ 如何一次性算出整形數組的實際長度
整型數組長度就是固定的,預先指定的。沒有求長度的操作。至於你指定的情況,是可以用vector數據結構來處理的。
❸ 求助,怎麼計算數組長度
首先,cin>>a[20]; 這樣是不行的。這樣寫相當於只輸入數組的第21個數,超出了數組的最大范專圍了。20個數據屬的數組,最大下標是19
其次,數組定義的時候,如果 沒有賦初值,那麼系統會自動給所有數組元素自動賦值0
再次,想要求數組長度可以這樣:
int a[20];
int len;
len = sizeof(a);
這樣求出來的值會是80,因為int數據佔4位元組,20個就是80位元組
數組的長度和你是否輸入數組的值無關,反正定義時沒給初值就自動賦值0的
只要是int型的數組,每個元素都是4位元組。
❹ 求整型數組長度的問題~·~
#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。所以無法實現。
❺ 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中怎樣求一個整形數組的長度
int GetNum(int a[])
{
int n=0;
while (a[n]!=-858993460)
{
n++;
}
return i;
}
❼ 計算整型數組有效的長度
數組有效長度是在 int a[Maxsize]定義時確定的,
和其中幾項被賦值無關。
❽ C++中,怎麼求整型數組的實際長度
這個 你可以定義一個 int nSzie= 0;
每插入一個數nSzie+1;
或者自己寫一個函數,遍歷一下數組,就可以得到其大小。
❾ C語言 怎麼計算整型數組的長度
假設數組名為a
則用語句:sizeof(a)/sizeof(a[0]);