1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>

// can choose the value for enum constants if you wish
enum Flag {
    FLAG_A = 1,
    FLAG_B = 2,
    FLAG_C = 4,
    FLAG_D = 8
};

#define log_hex(n) printf("%s == %x\n", #n, n)
int main(int argc, char* argv[]) {
    enum Flag flag = FLAG_A | FLAG_C;
    
    log_hex(flag);

    printf("size is %ld\n", sizeof(enum Flag));
    return EXIT_SUCCESS;
}
/* vim: set tabstop=4 shiftwidth=4 fileencoding=utf-8 noexpandtab: */

© Copyright 2023 Alexander J. Quinn, David J. Burnett         This content is protected and may not be shared, uploaded, or distributed.