『壹』 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。所以无法实现。