write-you-a-haskell/chapter10/adt2.c
2015-12-12 12:46:28 -05:00

18 lines
263 B
C

#include <stddef.h>
typedef struct T
{
enum { NONE, SOME } tag;
union
{
void *none;
int some;
} value;
} Option;
int main()
{
Option a = { .tag = NONE, .value = { .none = NULL } };
Option b = { .tag = SOME, .value = { .some = 3 } };
}