C语言 java 获取一维数组长度
2017-09-23 21:16
316 查看
#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
相关文章推荐
- 为什么使用length获取Java数组的长度
- C语言获取指针指向的数组长度的基本尝试
- c语言获取数组长度
- 为什么如此获取Java数组的长度
- java 获取数组长度
- 为什么如此获取Java数组的长度
- C语言 获取int数组长度
- Java中如何获取多维数组的长度
- [置顶] 为什么如此获取 Java 数组的长度
- [C语言]除非该数组为全局变量,否则只能在定义数组时获取数组长度,在传递过程中只是传递指针不能再次获取长度
- java 获取数组(二维数组)长度实例程序
- [JAVA] .length 获取数组长度
- c语言怎么获取数组的长度
- c语言怎么获取数组的长度
- 为什么如此获取Java数组的长度
- java读入一个不确定长度的一维数组
- C语言获取数组长度示例
- c语言获取定义数组的长度
- java获取一维数组中连续数字分成几个连续的数字数组
- [Java]获取byte数组的实际使用长度