A. C語言 怎麼計算整型數組的長度
假設數組名為a
則用語句:sizeof(a)/sizeof(a[0]);
B. 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語言中計算數組長度的方法是什麼
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。
D. 如何一次性算出整形數組的實際長度
整型數組長度就是固定的,預先指定的。沒有求長度的操作。至於你指定的情況,是可以用vector數據結構來處理的。
E. C++中,怎麼求整型數組的實際長度
這個 你可以定義一個 int nSzie= 0;
每插入一個數nSzie+1;
或者自己寫一個函數,遍歷一下數組,就可以得到其大小。
F. C中怎樣求一個整形數組的長度
int GetNum(int a[])
{
int n=0;
while (a[n]!=-858993460)
{
n++;
}
return i;
}
G. 求整型數組長度的問題~·~
#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。所以無法實現。
H. C語言 怎麼判斷一個整數數組長度
只要進行了聲明,就會自動開辟出內存來存放這些數據,裡面的數據如果不加定義,就是隨機數,你說的存的數,只是加以定義,即重新賦值,所以strlen()是不行的
I. 計算整型數組有效的長度
數組有效長度是在 int a[Maxsize]定義時確定的,
和其中幾項被賦值無關。