Тема: Вивід адреси

Взявся на свою голову вчити сі. Все наче виходить, але не дається мені одна цікава задача поки що. Є завдання вивести адресу змінної, зміст в шіснадцядковому вигляді і просто зміст функцією write. Зміст в шіснадцятковому вигляді і просто зміст можу вивести без проблем а от саму адресу не виходить. Я так розумію що треба записати значення адреси в змінну unsigned long int алеж стикаюсь з тим що значення виходить за рамки цього типу. От власне хотів би почути пораду або приклад як це можна зрозуміть та виконать

2

Re: Вивід адреси

Цілий тип, у який гарантовано влазить адреса, зветься size_t (визначено у <stddef.h>, але використовується в інших бібліотеках також). Використовується для визначення розміру об'єктів у пам'яті. Специфікатор розміру для форматованого виводу size_t - z (%zu чи %zx).
size_t беззнаковий, але має знаковий аналог - ptrdiff_t, який використовується, як можна здогадатися, для обчислення різниці між адресами.