精华内容
下载资源
问答
  • C/C++ | 求数组长度 | 求字符串数组长度 | 求string类型长度; 数组长度 int arr[] = {1,2,3,4,5,6,7,8,9}; int length = 0; length = sizeof(arr) / sizeof(int); int arr[10]={0,0}; //这样的无法...

    数组长度

    	int arr[] = {1,2,3,4,5,6,7,8,9};
    	int length = 0;
    	length = sizeof(arr) / sizeof(int); 
    
    	int arr[10]={00};
    	//这样的无法通过上述方法获得
    

    字符型数组长度

    	char c[10] = "asd";
    	cout<<strlen(c)<<endl;
    	cout<<sizeof(c)<<endl;
    	cout<<sizeof(c)/sizeof(c[0])<<endl;
    

    输出

    3
    10
    10
    

    所以字符串数组只能用strlen函数

    字符串string类型长度

    	string c = "asd";
    	cout<<c.size()<<endl;
    	cout<<c.length()<<endl;
    

    输出

    3
    3
    

    字符串数组长度

    char* array_str[] = {"good","good","study"};
    printf("sizeof(array_str): %d\n", sizeof(array_str));
    printf("array_str len: %d\n", sizeof(array_str) /sizeof(array_str[0]));
    
    展开全文
  • php中数组长度的获取 在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧。 php如何获取数组的长度,使用php函数...

    php中数组长度的获取

    在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧。
    php如何获取数组的长度,使用php函数count(),或是sizeof()
    例如:

    代码如下:


    <span style="font-family:SimSun;font-size:18px;">$arr = Array('0','1','2','3','4'); 
    echo count($arr);
    // 输出 5
    $arr = array('A','B','C');
    echo sizeof($arr);
    //输出3</span>



    sizeof()和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0;
    两函数功能一样,手册上讲,sizeof()是函数count()的别名。

    那么多维数组长度要怎么统计呢?继续看例子
    比如你读取的数组是一个二维数组:
     代码如下:

    <span style="font-family:SimSun;font-size:18px;"><?php
    $arr=array(
                     0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
                     1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
                    );
    ?></span>



    如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
    后来在php手册中发现,count函数还有第二个参数,解释如下:
    count函数有两个参数:
    0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
    1(或COUNT_RECURSIVE)为检测多维数组,
    所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:
    代码如下:

    <span style="font-family:SimSun;font-size:18px;"><?php
    if(is_array($arr) && count($arr,COUNT_NORMAL)>0 )
    {
      .....
    } else {
      .....
    }
    ?></span>



    你可以使用这样的代码来测试该函数:
    代码如下:

    <span style="font-family:SimSun;font-size:18px;"><?php
    $arr=array(
                     0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
                     1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
                   );
    echo '不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)
    echo "<br/>";
    echo '统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
    ?></span>

    JavaScript数组长度的获取

    length 属性

        Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意。当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失。下面是演示改变length属性的例子:

    <span style="font-family:SimSun;font-size:18px;">var arr=[12,23,5,3,25,98,76,54,56,76];
    
    //定义了一个包含10个数字的数组
    
    alert(arr.length); //显示数组的长度10
    
    arr.length=12; //增大数组的长度
    
    alert(arr.length); //显示数组的长度已经变为12
    
    alert(arr[8]); //显示第9个元素的值,为56
    
    arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃
    
    alert(arr[8]); //显示第9个元素已经变为"undefined"
    
    arr.length=10; //将数组长度恢复为10
    
    alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"</span>

        由上面的代码我们可以清楚的看到length属性的性质。但length对象不仅可以显式的设置,它也有可能被隐式修改。JavaScript中可以使用一个未声明过的变量,同样,也可以使用一个未定义的数组元素(指索引超过或等于length的元素),这时,length属性的值将被设置为所使用元素索引的值加1。例如下面的代码:

    <span style="font-family:SimSun;font-size:18px;">var arr=[12,23,5,3,25,98,76,54,56,76];
    
    alert(arr.length);
    
    arr[15]=34;
    
    alert(arr.length);</span>

        代码中同样是先定义了一个包含10个数字的数组,通过alert语句可以看出其长度为10。随后使用了索引为15的元素,将其赋值为15,即arr[15]=34,这时再用alert语句输出数组的长度,得到的是16。无论如何,对于习惯于强类型编程的开发人员来说,这是一个很令人惊讶的特性。事实上,使用new Array()形式创建的数组,其初始长度就是为0,正是对其中未定义元素的操作,才使数组的长度发生变化。

        由上面的介绍可以看到,length属性是如此的神奇,利用它可以方便的增加或者减少数组的容量。因此对length属性的深入了解,有助于在开发过程中灵活运用。

    展开全文
  • char a[] = {'a','b','c'}; char b[] = "abc"; 请问下数组a和数组b的长度我理解的是都为3,但是答案是b的长度大于a的长度, 不太明白后面那个是不是要算上\0呢,这个长度是要用strlen计算么
  • 数组长度 数组的长度是指存放线性表的存储空间的长度,存储分配后这个量一般是不变的有个别同学可能会问,数组的大小一定不可以变的吗?我怎么看到有书中谈到可以动态分配的一维数组,不过这会带来性能上的损耗 ...

    数组长度

    数组的长度是指存放线性表的存储空间的长度,存储分配后这个量一般是不变的。
    有个别同学可能会问,数组的大小一定不可以变的吗?我怎么看到有书中谈到可以动态分配的一维数组。是的,一般高级语言,比如c,vb,c++都可以用编程手段实现动态内存分配数组,不过着会带来性能上的 损耗。

    线性表长度

    线性表的长度是线性表中元素的个数,随着线性表的插入和删除操作的进行,这个量是变化的

    在任意时刻,线性表的长度应该小于等于数组的长度

    线性表的定义,起始是1,可c语言中的数组却是从0开始第一个下标的,于是线性表的第i个元素是要存储在数组下标为i-1的位置,即数据元素的序号和存放它的数组下标之间存在对应关系:

    用数组存储顺序表意味着要分配固定长度的数组空间,由于线性表中可以进行插入和删除操作,因此分配的数组空间要大于等于当前线性表的长度

    展开全文
  • 字符串长度 与数组长度

    万次阅读 多人点赞 2018-12-20 18:48:37
    对于定义 char str[] = "abc\000def\n"(注:其中0为数字零),求字符串str的长度...1.数组长度的计算:整形数组大小:sizeof(数组名)/sizeof(数组类型)。 字符数组大小:strlen(数组名)+1,1因为要加上'/0',所以 ...

    对于定义 char str[] = "abc\000def\n"(注:其中0为数字零),求字符串str的长度len和数组str的大小size,len和size分别是: (2分)(2)

    1. 12 ,13
    2. 3 ,11
    3. 3 ,9
    4. 3 ,4

     1.数组长度的计算:整形数组大小:sizeof(数组名)/sizeof(数组类型)。 字符数组大小:strlen(数组名)+1,1因为要加上'/0',所以     再加1.

     2.字符串长度的计算:

    字符串长度是指字符串所含的字符个数,但不包括最后的'\0'。sizeof(str)

    C语言的字符串是由字符数组形式保存的,并约定'\0'(ascii码值为0)作为字符串结束符。其长度为从字符串开始,到'\0'结束,所有字符的个数,不包括'\0'本身。

    "abcd\n" -------长度应该为5(\n转义符) ,转义字符也算一个字符的。

    1、c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数)。例如:

    1

    2

    3

    4

    int data[4];

    int length;

    length=sizeof(data)/sizeof(data[0]);  //数组占内存总空间,除以单个元素占内存空间大小

    printf("length of data[4]=%d", length ); //输出length of data[4]=4

    2、但是,通过传递数组名参数到子函数中,以获得数组长度是不可行的。

    例如:

    1

    2

    3

    4

    5

    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、因此,获得数组长度,只能在数组定义所在的代码区中,采用以上方法,才可以达到效果。

    * strlen用来求字符串的长度用的
      而sizeof是用来求指定变量或者变量类型等所占内存大小用的(需要加上'\0'的位置)
      比如strlen("nihao")它的结果是5
      而sizeof(int)它的结果是2也就是说int型占两个字节

    #include<stdio.h>
    #include<string.h>
    int main(){
    	int m,n;
    	m=sizeof("abc\000def\n");
    	n=strlen("abc\000def\n");
    	printf("%d %d",m,n);
    } 

    运行结果是9 3 (注:\000和\00和\0所占的内存是一样的(疑问)

    只有计算字符长度时不许考虑'\0'

     

    展开全文
  • go语言获取数组长度

    万次阅读 2019-07-24 12:03:21
    go语言获取数组长度 示例 package main import "fmt" func main() { myArray := [3][4]int{{1,2,3,4},{1,2,3,4},{1,2,3,4}} //打印一维数组长度 fmt.Println(len(myArray)) //打印二维数组长度 fmt....
  • vb.net 数组长度减少1

    2017-02-13 05:08:05
    vb.net怎么把数组长度减少一个,比如有个数组长度为10,怎么变成把数组长度边为9
  • Java中获取数组长度

    千次阅读 2019-05-07 16:16:07
    Java中获取数组长度 方法: 使用数组属性length来获取数组长度 代码: public class ArrayLength { public static void main(String[] args) { String[][] data = new String[2][5]; System.out.println("第一...
  • C++数组长度

    千次阅读 2017-07-25 11:51:07
    C++求数组长度为: int arr_length = sizeof(arr) / sizeof(arr[0]); 为了方便使用,在C语言中常定义宏来求数组长度 #define ARR_LEN(array, length){ length = sizeof(array) / sizeof(array[0]); } 使用时...
  • C++ 获取数组长度

    2020-07-14 14:44:59
    C++ 获取数组长度 1 字符串数组 对于字符串数组,使用strlen()函数来获取字符串数组的长度。 char a1[] = "fwegweasdasdwqew"; cout << strlen(a1) << endl; 2 数字数组 例如: int arr[] = { 1,5,9,10...
  • 获取二维数组长度

    2020-05-28 17:32:05
    public class array_length { ... System.out.println("第一维数组长度为:"+data.length); System.out.println("第二维数组长度为:"+data[0].length); } } 输出结果: 第一维数组长度为:2 ..
  • 获取C/C++字符串、字符数组长度

    万次阅读 多人点赞 2018-03-26 21:18:24
    在C/C++中常用的获取字符串长度或者字符串数组长度的函数有 sizeof() length() strlen() size() 其中strlen(str)和str.length()和str.size()都可以用来求字符串的长度 str.length()和str.size()是用于求...
  • C语言中数组长度的计算详解

    千次阅读 2020-05-23 18:23:01
    1) C语言中计算数组长度大小 C语言字符串长度的计算可以使用strlen(str); 但是对于数组长度的大小却没有相关函数可以使用; C语言数组长度的大小可以使用: int main() { int arr[] = {1,2,3,4,5}; int length = ...
  • C语言如何获取数组长度 #include<string.h> strlen(a)求字符数组的大小 sizeof(a)/sizeof(a[0]);求数组a内存空间中的元素个数,目前没看到现成的求数组有效长度的函数 sizeof使用注意事项: 当将数组...
  • js数组长度

    千次阅读 2019-01-28 21:49:10
    js数组长度 &lt;script&gt; var a = ["js", "java", "c", "c++", "php", "python"]; var b = a.length; document.write(b); &lt;/...
  • 一、定义数组的方法: 1. var arr=[]; 2: ...var arr=new arrary();...//split() 方法用于把一个字符串分割成字符串...二、获得数组内元素的个数(获取数组长度) 1.使用数组的.length方法 var arr=[1,2,3] var...
  • C++改变数组长度

    2018-06-05 20:20:00
    C++改变数组长度 代码 //改变数组长度 #ifndef CHANGELENGTH1D_H #define CHANGELENGTH1D_H #include<stdexcept> #include<algorithm> template<typename T> void changeLength1D(T *&a,...
  • C++中如何求数组长度

    万次阅读 2018-04-03 23:19:45
    C++中没有直接提供求数组长度的方法,提供了sizeof(),begin(),end()等方法,可以供求数组长度使用。可以通过两种方式来求数组长度,这里使用模版类。一个是使用sizeof()做除法,另一种办法是通过end(),begin()做减法...
  • Vue监听数组长度变化

    千次阅读 2019-02-20 15:36:32
    Vue监听数组长度变化: 最近APP项目需要监听数组长度的变化,界面上做出相应变化;百度了很多,未果,请教了同事,了解到一个方法,特来分享一下。 watch: { 'list.length': { handler(newValue, oldValue) { ...
  • C++获取数组长度

    千次阅读 2017-06-01 00:02:51
    C++获取数组长度 一、静态数组。 比如 int int_ary[5] ,静态数组在编译的时候就知道了数组长度,这对编译器来说挺好实现的。 用得最多的大概就是sizeof了吧: 1
  • 题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字,否则返回0。比如长度为9的数组{1,2,3,2,2,2,5,4,2},数组中2出现了5次,超过数组长度的一半,因此输出2。 方法1:因为这个数字超过...
  • c/c++求数组长度

    千次阅读 2019-08-27 02:15:51
    c++中没有求数组长度的默认函数,只能自己写 求数组长度:int ArrayLength = sizeof(array) / sizeof(array[0]); 为方便使用, 在 c 语言中长定义宏求数组长度: #define ARR_LEN(array, length){length = sizeof...
  • sizeof获取数组长度

    万次阅读 2016-10-06 21:17:38
    昨天开始看《算法导论》这本书,第一个算法就是(直接)插入排序,根据书里给出的伪代码写出了...是固定的,如果要更换待排序数组话,原来程序中的相关变量就会因为数组长度的改变要做相应的改变。我想要的就是给定任
  • 假如Hashmap内部数组长度为16,负载因子为0,75 ,那么阀值为12. 当第十三个元素加入时,底层数组扩容。 我的疑惑: 貌似存储的元素数量永远小于数组的长度 ,那还用hashmap干嘛,直接用数组不就完了?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 135,395
精华内容 54,158
关键字:

数组长度