zoukankan      html  css  js  c++  java
  • C++中数组指针

    C++计算数组可以使用下面的方式:

    template <class T>

    int getArrayLen(T& array)

    {

    return (sizeof(array) / sizeof(array[0]));

    }

    但是对于C++,输入的数组名字会退化为指针

    因此如果不用模板,将不会得到正确的结果

    并且,只有在数组形式下使用数组的名字,和sizeof函数才可以获得数组的长度

    即假如定义数组 char Array[] = {'1','2','3'};是可以用sizeof计算的

    即:int len = sizeof(Array)/sizeof(Array[0]);

    对于malloc的内存,无法通过sizeof直接获取到空间的大小

    对于特殊的情况,假如是字符数组的话,可以通过strlen函数获得字符串的长度,

    char strc[] = "123456";

    char*pstr = strc;

    printf("%d,%d,%d",sizeof(strc),sizeof(pstr),strlen(pstr));

    对于字符串的话,由于在字符串的末尾会加一个 '' 字符所以在求取字符串长度时会多一个。

    输出:7,4,6

  • 相关阅读:
    HDOJ/HDU 1015 Safecracker(枚举、暴力)
    nodejs之入门
    git错误收集总结
    git基本操作
    git使用前配置
    花开花落花非花、缘起缘灭缘随缘
    js之定时器
    js之Date(日期对象)
    es5严格模式简谈
    try...catch
  • 原文地址:https://www.cnblogs.com/Erdos001/p/5565105.html
Copyright © 2011-2022 走看看