c语言的intdevc++给我报warning cast to pointer from integer of different size
这个warning是因为在将一个int类型的整数转换为指针类型时,可能会导致指针类型和整数类型的大小不一致,从而可能导致错误。为了避免这种情况,建议使用intptr_t或uintptr_t类型来表示指针类型和整数类型的大小相同,这样就可以安全地进行转换。
例如,可以将int类型的指针转换为intptr_t类型的整数,然后再将intptr_t类型的整数转换为int类型的指针,如下所示:
int* p = (int*)malloc(sizeof(int)); intptr_t i = (intptr_t)p; int* q = (int*)i;
这样就可以避免warning的出现。
原文地址: https://www.cveoy.top/t/topic/bIGz 著作权归作者所有。请勿转载和采集!