In computing, a data descriptor is a structure containing information that describes data.
Data descriptors may be used in compilers,[1] as a software structure at run time in languages like Ada[2] or PL/I, or as a hardware structure in some computers such as Burroughs large systems with their descriptors.
Data descriptors are typically used at run-time to pass argument information to called subroutines. OpenVMS[3] and Multics[4] have system-wide language-independent standards for argument descriptors. Descriptors are also used to hold information about data that is only fully known at run-time, such as a dynamically allocated array.