C语言 java 获取一维数组长度

来源:互联网 发布:yy协议软件手机版 编辑:程序博客网 时间:2024/05/16 09:37
#include<stdio.h>int length(int arr[]);//通过带参宏获取一维数组长度#define GET_ARRAY_LENGTH(array,len){len = (sizeof(array) / sizeof(array[0]));}void main(){    int array[]={1,2,3,4,5,6};    printf("数组长度为:%d\n",sizeof(array)/sizeof(int));    printf("数组长度为:%d\n",length(array));    int len;    GET_ARRAY_LENGTH(array,len);//启用宏    printf("数组长度为:%d\n",len);    int array2[][]={}}//求数组的长度int length(int arr[])//这个方法行不通的{////计算占用内存大小//sizeof(array)//////计算数组元素个数//sizeof(array) / sizeof(array[0])    return sizeof(arr)/sizeof(int);//结果永远为1    //arr是函数参数,到了本函数中,arr只是一个指针    //(地址,系统在本函数运行时,是不知道a所表示的地址有多大的数据存储空间,    //这里只是告诉函数:一个数据存储空间首地址),    //所以,sizoef(a)的结果是指针变量a占内存的大小,    //一般在64位机上是4个字节。    //a[0]是int类型,sizeof(a[0])也是4个字节,所以,结果永远是1。}

结果:

数组长度为:6数组长度为:1数组长度为:6

java中获取数组长度真的是太容易了。直接使用数组名.length就可以直接获取一维数组的长度

package Ctojava;public class ArrayLength{public static void main(String[] args){int array[]={1,2,3,4,5,6,7};boolean flag=false;for(int i=0;i<array.length;i++){if(flag)System.out.print(",");flag=true;System.out.print(array[i]);}}}
结果:

1,2,3,4,5,6,7



原创粉丝点击