malloc
함수를 다시 구현하기 위해 코딩하고 있습니다. 나는이void * pointer를 char * pointer에 할당 할 수 있습니까?
struct s_block{
size_t size; // size per block
int free; // whether free flag exist
t_block pre;
t_block next;
void *magic_ptr;
int padding; // bytes for padding
char data[1]; // first byte of data, i.e. the address returned from malloc
};
typedef struct s_block *t_block;
t_block get_block(void *p) {
char *tmp;
tmp = p;
...
}
같은 이상한 코드가 사람의 예제 코드를 보았다하지만이 코드를 컴파일 ++의 gcc 나 g를 사용하여 오류가 "* 포인터를 숯불에 무효 * 포인터를 사용할 수 없습니다"입니다. 질문이 어디서 발생했는지 알고 싶습니다. gcc 또는 g ++? 코드가 잘못 되었습니까?