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

我对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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...