указателя.

аю упражнение, в котором мне нужно распечатать память (адрес) указателя. Было бы легко сделать это сprintf("%p", ..) но я не могу использовать это.

Знаете ли вы, как я могу получить адрес без использованияprintf()? Единственная функция, которую я могу использовать - это «запись».

Вот утверждение моего упражнения:

Напишите функцию, которая принимает(const void *addr, size_t size)и отображает память, как в примере. Ваша функция должна быть объявлена ​​следующим образом:

void print_memory(const void *addr, size_t size);
$ cat main.c

void  print_memory(const void *addr, size_t size);

int   main(void)
{    
      int tab[10] = {0, 23, 150, 255,
                     12, 16,  21, 42};

      print_memory(tab, sizeof(tab));
      return (0);
}

$ gcc -Wall -Wall -Werror main.c print_memory.c && ./a.out | cat -e
0000 0000 1700 0000 9600 0000 ff00 0000 ................$
0c00 0000 1000 0000 1500 0000 2a00 0000 ............*...$
0000 0000 0000 0000                     ........$

Ответы на вопрос(4)

Ваш ответ на вопрос