Регистрация | Вход
.... void* p = malloc(42);.....
size_t* p = malloc(123456); for (int i = 0; i < 8; ++i) { printf("%i\t%u\n", i, p[-i]); } printf("%u\n", p[-3]); /*0 34528168451 42612812772 863 1234564 15 06 07 23257664123456 */
void* malloc_len(int len){ int int_size = sizeof(int); int* ptr = malloc(len + int_size); memcpy(ptr, &len, int_size); return ptr + 1;}int ptr_len(void* ptr){ return *((int*)ptr - 1);}