Data types at run time
Barry Margolin
barmar at think.COM
Sat Dec 10 08:56:41 AEST 1988
In article <293 at tijc02.UUCP> djm408 at tijc02.UUCP (David Marks ) writes:
>Does anyone know how to determine the data type of a variable at runtime?
There's no built-in way in C to do this, so you'll have to implement
it yourself.
One way to implement it would be to pass a second argument to the
function that accepts the pointer. This argument should be an
indicator of the type (it should probably be an enum).
A variant would be to pass a struct instead of the pointer, something
like:
struct {
enum {type_int, type_char, ...} type;
union {int, char, ...} *ptr;
} argument;
Your routine can then contain
switch (argument.type) {
case type_int: ...
case type_char: ...
...
}
Barry Margolin
Thinking Machines Corp.
barmar at think.com
{uunet,harvard}!think!barmar
More information about the Comp.lang.c
mailing list