(size_t)0 在 C 中是不是一个好习惯?

Is (size_t)0 a good practice in C or not?

我在 C 代码中看到了以下内容,我觉得很奇怪:

myType GetStuff(size_t *iSize) {
    *iSize = (size_t)0;    
    size_t h = 0;       
    *iSize += h;
}

没有强制转换也一切正常:*iSize = 0;

是否需要 (size_t) 强制转换或是否多余?

Is there any need in (size_t) cast or its superfluous?

算术类型隐式转换。你不需要演员表。也就是说,强制转换提高了代码的可读性,并可能避免某些编译器的一些警告。