zoukankan      html  css  js  c++  java
  • 数组长度计算

         (1)sizeof
         方法:sizeof(数组名)/ sizeof(数组类型名) 
         说明:数组占用字节除以数组类型所占字节,结果为数组元素个数
        (2)strlen
         说明:strlen,求字符串有效长度
         方法:strlen(字符数组名)  //结果为字符数组有效字符长度,不包含末尾的' /0'

    注意:
    当数组作为函数參数传递时,数组名代表的是数组的首址,而非数组内容,故无法使用sizeof和strlen;
    所以,在传址时,应提供2个參数:1个是数组名,代表数组首地址;1个是数组元素个数,以便确定传递的次数。
    比如:
    #include<iostream>
    using namespace std;
    void Sum(int array[ ])
    {
    cout
    <<"sizeof(array)="<<sizeof(array)<<endl;
    }
    void main()
    {
    int a[ ]={1,2,3,4,5,6,7,8,9,10};
    cout
    <<"sizeof(a)="<<sizeof(a)<<endl;
    Sum(a);
    }
    运算结果为:
    sizeof(a)=40
    sizeof(array)=4
    分析:
    当数组作为函数參数传递时,数组名代表的是数组的首址,即指针,而非数组内容。假设传递整个数组,会导致栈溢出的。
    所以在主函数中使用sizeof计算出的是准确的数组长度。而在调用函数中,因为传递的数组不再是数组本身,而是其地址,所以用sizeof计算出的,实际上是数组地址的长度,这时的sizeof(array),实际上是sizeof(int)。
  • 相关阅读:
    websocket协议
    LeakCanary 中文使用说明
    编程习惯1
    Spring事务管理(详解+实例)
    微信 JS API 支付教程
    mi面试题
    最锋利的Visual Studio Web开发工具扩展:Web Essentials详解(转)
    .Net 高效开发之不可错过的实用工具
    手机版开发框架集合
    node.js建立简单应用
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3974186.html
Copyright © 2011-2022 走看看