Я, вероятно, старше, чем большинство респондентов, заработав живую кодировку на C как в раннем (конце 80-х) Macintosh, так и в 16- и 32-битных Windows. В те древние времена (когда мэйнфрейм IBM мог иметь только 256 КБ памяти) дескриптор всегда был указателем (или смещением таблицы) на указатель памяти.
Как упомянул предыдущий респондент, это позволило ОС управлять таблицами указателей на блоки памяти без аннулирования «дескрипторов», используемых программистом. К сожалению, я не помню, как мы гарантировали, что выделенный блок не будет перемещен, пока мы используем дескриптор.