什麼是轉換的正確方法/施放一個int
在C99一size_t
上32位和64位Linux平臺?C:投INT爲size_t
實施例:
int hash(void * key) {
//...
}
int main (int argc, char * argv[]) {
size_t size = 10;
void * items[size];
//...
void * key = ...;
// Is this the right way to convert the returned int from the hash function
// to a size_t?
size_t key_index = (size_t)hash(key) % size;
void * item = items[key_index];
}
我不明白爲什麼這是行不通的。 – slartibartfast 2011-03-30 02:01:54
什麼是與一般的普通鑄鐵'(爲size_t)'的問題嗎?它有點不合適嗎? – AnT 2011-03-30 02:02:32
是啊,這是正確的,但我認爲這是隱式轉換,所以你不會真的* *需要'(爲size_t)'。 – 2011-03-30 02:02:38