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)。
  • 相关阅读:
    电源积累
    电感的分类及作用
    电容退耦原理分享
    电容选型
    上拉电阻
    LVTTL与LVCMOS区别
    可重入函数与不可重入函数
    永不改变的PCB设计黄金法则
    os_cpu_a.asm
    [原创]Getting Started with Skywalking
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3928011.html
Copyright © 2011-2022 走看看