美文网首页基础
用sizeof计算数组长度的注意点

用sizeof计算数组长度的注意点

作者: 技术笔记 | 来源:发表于2019-11-06 19:03 被阅读0次

今天碰到一个小问题,因为这个sizeof只适用于数组名,如果不小心换成了指向数组的指针,那么很不幸,sizeof(pointer) 等于4,那就悲剧了。

static const CodecProfile codec_profile[] = {
    {
        .codec_id = AV_CODEC_ID_H264,
        .av_profile = h264_profiles,
    },
    // ...
};

正确:

sizeof(codec_profile) / sizeof(codec_profile[0])

错误:

p = codec_profile;
sizeof(p) / sizeof(p[0])

相关文章

  • 用sizeof计算数组长度的注意点

    今天碰到一个小问题,因为这个sizeof只适用于数组名,如果不小心换成了指向数组的指针,那么很不幸,sizeof(...

  • c语言中数组指针

    c语言中没有专门计算数组长度的函数,需使用sizeof(arr)/sizeof(int)计算,其中sizeof(a...

  • C/C++ 技巧

    计算二维数组长度 sizeof(array[0][0]):一个元素占用的空间, sizeof(array[0]):...

  • sizeof

    用运算符sizeof可以计算出数组的容量(字节数) char a[] = "abcd"; sizeof(a...

  • 找出与指定值相等的两个数组下标

    求数组长度的方法是length = sizeof(num) / sizeof(num[0])//假设是数组num[...

  • 获取整型数组的长度

    在定义数组的函数内可以直接使用sizeof(定义的数组名)/sizeof(数组的类型)来获取数组的长度 但如果数组...

  • c++有趣又烧脑的小实例

    不使用sizeof,求类型长度 用指针移动计算来测量字节大小。 #include using namespace ...

  • C语言中计算数组长度的方法是什么

    1、c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数)。例如: 2、但是,通过传递数组名参...

  • C/C++中sizeof的一点总结

    栈中的数组 对于栈中的数组,sizeof给出的会是实际的数组长度,而非指针长度。 输出: 指向数组的指针 当是一个...

  • C语言获取函数参数的数组的元素个数

    C语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数),通过数组占内存总空间/单个元素占内存空...

网友评论

    本文标题:用sizeof计算数组长度的注意点

    本文链接:https://www.haomeiwen.com/subject/kdhpbctx.html