加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在声明之前使用变量?

发布时间:2020-12-16 03:27:54 所属栏目:百科 来源:网络整理
导读:我对redis实现的文件dict.c中的函数dictCreate()感到困惑.我要在这里粘贴代码: /* Create a new hash table * T = O(1) */dict *dictCreate(dictType *type,void *privDataPtr) { dict *d = zmalloc(sizeof(*d)); _dictInit(d,type,privDataPtr); return d;
我对redis实现的文件dict.c中的函数dictCreate()感到困惑.我要在这里粘贴代码:
/* Create a new hash table 
 * T = O(1)
 */
dict *dictCreate(dictType *type,void *privDataPtr) {
    dict *d = zmalloc(sizeof(*d));
    _dictInit(d,type,privDataPtr);
    return d;
}

变量d用于zmalloc(sizeof(* d)),但理论上它在执行此行时将存在.所以我的问题是如何在声明之前使用变量d?

解决方法

sizeof不是函数,它是一个运算符.它在编译时执行(精确评估),因此您考虑的范围或生命周期d不适用于此处.它需要知道的是* d的类型,并且在编译时已知.足够.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读