1. c语言怎么取数组中的元素个数的
int GetLength(int[] arr){ return sizeof(arr) / sizeof(int); //就是用sizeof计算出来的数组长度 除以 数据类型的长度。}
2. c语言,二维数组中查找指定元素个数
int
a[3][4];//这是定义一个3行4列的二维数组,3*4=12个元素
int
a[5][6];//这个就定义了一个5行6列的二维数组,5*6=30个元素
c语言的下标是从0开始编号的,编到行数与列数减1的位置,如int
a[3][4]
a[0][0]
a[0][1]
a[0][2]
a[1][0]
a[1][1]
a[1][2]
a[2][0]
a[2][1]
a[2][2]
这就与行列式的排列差不多。
3. C语言获取函数参数的数组的元素个数
C语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数),通过数组占内存总空间/单个元素占内存空间大小,即可得到数组的元素个数
例如
但是,通过将数组作为函数参数传递到函数中,以获得数组长度是不可行的
例如
原因:数组arr是函数参数,在函数中,arr只是一个指针(地址,系统在本函数运行时,是不知道arr所表示的地址有多大的数据存储空间,这里只是告诉函数:一个数据存储空间首地址),所以,sizoef(arr)的结果是指针变量arr占内存的大小,一般在32位机上是4个字节。arr[0]是int类型,sizeof(arr[0])也是4个字节,所以,结果永远是1。
如果想要在被调用的函数中,得知原数组的大小,可以再给函数添加一个参数,用于指定数组的大小,让外界调用函数前就讲数组的大小传递进来
4. C语言,求数组中元素的个数
你的数组a[0]在赋值过程中就是0啊
即a[0]=0;
for(;j<MAX;j++)
{
if(a[j]==NULL)//如果数组为空则返回当前数组的下标,即为数组元素的个数
{ //或者这样写a[j]=='\0'
m=j;
printf("%d\n",m);
break;
}
}
所以上面程序j=0时,a[0] == NULL是TRUE,所以打印出m为0啊
所以你可以将赋值语句改一下即可
for(i=1;i<=10;i++)
{
a[i]=i;//对十个数组依次赋值
}
5. C语言 怎样求数组中元素个数(长度)
如果这样定义,每一行还是20个数,后面的自动补为0了,所以根据这个数组不能求得每一行的元素个数。
楼主可以在这个数组每一行再添加一个特殊的数字作为标志位。
6. 请问在C语言中如何获取一个数组里存在多少个元素
有一个函数就是为了获取数组元素个数的:sizeof!
原理是:sizeof获取数组的长度然后除以数据类型所占的长度得到元素个数
我简单写下代码:
int a[100]={1,2,3,4}; int len=sizeof(a)/sizeof(int); printf("%d\n",len);
以上为原来的回答,有错误:
在给定数组大小时候sizeof这个方法就不起作用了,我当时没注意犯了错误有些误人子弟了
原谅我一年以后才来修改这个答案~
我想了想int数组默认全是0称为初始化,姑且说非0为有效元素
while(i<100)
{
if(a[i]!=0)
count++;
i++;
}
遍历,记录
字符数组有结束符,只要找到结束符的位置就可以了