基础

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

2019-11-06  本文已影响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])
上一篇 下一篇

猜你喜欢

热点阅读