求数组长度的方法,数组长度怎么计算 m

1 , 数组长度怎么计算 msizeof(数组首地址)/数组类型再看看别人怎么说的 。首先,cin>>a[20];这样是不行的 。这样写相当于只输入数组的第21个数,超出了数组的最大范围了 。20个数据的数组 , 最大下标是19其次,数组定义的时候,如果 没有赋初值,那么系统会自动给所有数组元素自动赋值0再次,想要求数组长度可以这样:int a[20];int len;len = sizeof(a);这样求出来的值会是80 , 因为int数据占4字节,20个就是80字节数组的长度和你是否输入数组的值无关 , 反正定义时没给初值就自动赋值0的只要是int型的数组,每个元素都是4字节 。数组长度是自定义的 , 不是算出来的
2,怎么求一个不知道数组元素个数的数组长度sizeof(array_name)/sizeof(array_type)如果有一数组int a[], 那么a的长度为sizeof(a)/sizeof(int)是C#语言吗,可以用数组打点调用lenght,就可以计算数组的的长度int main(void)// 为了方便,这里是知道长度的!不知道长度也用下面的方法:sizeof(a)int a[12];printf("%d", sizeof(a));return 0;}用sizeof肯定不行,函数中s[]被当成指针了,所以sizeof出来的结果肯定是4 。我刚才也遇到了和你一样的问题,在网上转了半天才有一点收获,把我的收获无私的共享给你吧 。c/c++天生设计缺陷注定了求不出s的长度的 。所以一般传数组或指针时都会把数组的长度或指针指向数组的长度作为参数传进去 。知道数组名字吧,调用该数组的length属性就可以知道其长度了 。【求数组长度的方法,数组长度怎么计算 m】
3 , 数组长度怎么求啊像求数组java成员变量的长度String str = "java成员变量";System.out.println(str.length());比如! int[] arr =System.out.println(arr.length); //使用数组对象.length 就可以了!数组的长度一般都可以用.length()函数能够得到 。List集合的可以使用.size()第一个的private static void printarray(int[][] arr)函数定义到main函数方法体里边了数组没有length()方法 只有length属性 比如String[] arr=new String[]{“java成员变量”}; System.out.println(arr.length); 结果为1String str = "java成员变量";int i=str.length();System.out.println(i);
4 , C语言中计算数组长度的方法是什么用 sizeof 可以获得数据类型或变量在内存中所占的字节数 。同样,用 sizeof 也可以获得整个数组在内存中所占的字节数 。因为数组中每个元素的类型都是一样的,在内存中所占的字节数都是相同的 , 所以总的字节数除以一个元素所占的字节数就是数组的长度 。比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补0)位移 。例如,将11100011右移3比特 , 算术右移后成为11111100,逻辑右移则为00011100 。运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符 。C语言特点:其一,广泛性 。C语言的运算范围的大小直接决定了其优劣性 。C语言中包含了34种运算符 , 因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富 。其二,简洁性 。9类控制语句和32个关键字是C语言所具有的基础特性 , 使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率 , 同时还能够支持高级编程,避免了语言切换的繁琐 。1、c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数) 。例如:1234 intdata[4];intlength;length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小printf("length of data[4]=%d", length ); //输出length of data[4]=42、但是,通过传递数组名参数到子函数中,以获得数组长度是不可行的 。例如:12345 intgetLength(int[] a) intlength; length=sizeof(a)/sizeof(a[0]); //这样是错误的 , 得到的结果永远是1 returnlength;} 因为,a是函数参数,到了本函数中 , a只是一个指针(地址,系统在本函数运行时,是不知道a所表示的地址有多大的数据存储空间,这里只是告诉函数:一个数据存储空间首地址) , 所以,sizoef(a)的结果是指针变量a占内存的大?。?一般在32位机上是4个字节 。a[0]是int类型,sizeof(a[0])也是4个字节,所以 , 结果永远是1 。3、因此,获得数组长度,只能在数组定义所在的代码区中,采用以上方法 , 才可以达到效果 。sizeof(a)/sizeof(a[0])调用strlen 函数即可5,获取数组长度函数定义为int find(int array[],int key),就可以了 。int *array , array是指针,长度为4int array[20];array是数组,长度为20*sizeof(int).sizeof是在编译阶段展开的一个宏 , 换句话说,下面的程序是错误的,函数参数在运行阶段以压栈方式传递了一个地址:int mylen(int buf[]) return sizeof(buf) / sizeof(int);}int main(void) int buf[] =int l = mylen(buf); printf("%d\n", l); system("pause"); return 0;}但是这样写就是正确的 , 因为buf的分配过程是在编译阶段定义:int main(void) int buf[] =int l =sizeof(buf) / sizeof(int); printf("%d\n", l); system("pause"); return 0;}您关心的array长度问题,只能从参数解决:int find(int * array, int len, int key);或者以协议方式,将首地址的值定为长度:int find(int * xarray, int key)assert(xarray);int ln = xarray(0);//首变量储存数组长度int * array = xarray + 1; //正式地址从下一个地址开始... 注意楼上说的不对 , 犯了第一个错误java list得到属猪长度的方法如下: 1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性. 2 java中的length()方法是针对字符串string说的,如果想看这个字符串的长度则用到length()这个方法. 3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public static void main(string[] args) { string []list={"ma","cao","yuan"}; string a="macaoyuan"; system.out.println(list.length); system.out.println(a.length()); listarray=new arraylist(); array.add(a); system.out.println(array.size()); } 输出的值为: 3 9 1

    推荐阅读