Для моего приложения C я попытался инициализировать память. Я знаю о более медленном calloc, но, к счастью, нет необходимости отслеживать производительность.
Мне нужно место в памяти только для одного элемента int без знака (до 65535).
Это часть моего кода, которая не работает:
//Declaration
unsigned int part1;
//Allocation
part1 = (unsigned int) calloc (1,sizeof(unsigned int));
Это выдает предупреждение компилятора:
предупреждение: преобразование из указателя в целое число другого размера [-Wpointer-to-int-cast]
Почему приведенный выше код не работает, где...
unsigned long size;
size =(unsigned long) calloc (1,sizeof(unsigned long));
...прекрасно работает?
Спасибо!