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

前端之家收集整理的这篇文章主要介绍了如何在声明之前使用变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对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的类型,并且在编译时已知.足够.

猜你在找的C&C++相关文章