Converter um ponteiro para um int

Estou escrevendo minhas próprias funções paramalloc efree em C para uma tarefa. Eu preciso tirar proveito do Csbrk() função de invólucro. Pelo que eu entendosbrk() incrementa o espaço de dados do programa pelo número de bytes passados como argumento e aponta para o local da quebra do programa.

Se eu tiver o seguinte trecho de código:

#define BLOCK_SIZE 20

int x;

x = (int)sbrk(BLOCK_SIZE + 4);

Eu recebo o erro do compiladorwarning: cast from pointer to integer of different size. Por que é isso e existe mesmo assim, posso transmitir o endereço indicado porsbrk() para umint?

questionAnswers(1)

yourAnswerToTheQuestion