#include #include #define ToString(a) #a typedef enum Naipe { Ouro, Espada, Pau, Copa } Naipe; typedef enum Cara { Duque, Terno, Quadra, Quina, Sexta, Dama, Valete, Rei, Visca, As } Cara; typedef struct Carta { Naipe naipe; Cara cara; int valor; } Carta; const Carta cartas[] = {{.naipe = Copa, .cara = Duque, .valor = 0}, {.naipe = Copa, .cara = Terno, .valor = 0}, {.naipe = Copa, .cara = Quadra, .valor = 0}, {.naipe = Copa, .cara = Quina, .valor = 0}, {.naipe = Copa, .cara = Sexta, .valor = 0}, {.naipe = Copa, .cara = Dama, .valor = 2}, {.naipe = Copa, .cara = Valete, .valor = 3}, {.naipe = Copa, .cara = Rei, .valor = 4}, {.naipe = Copa, .cara = Visca, .valor = 10}, {.naipe = Copa, .cara = As, .valor = 11}}; void printCarta(Carta carta) { printf("Carta: cara=%s,naipe=%s,valor=%d", ToString(carta.cara), ToString(carta.naipe), carta.valor); } #define __S(X) #X #define _S(X) __S(X) struct Point { int x; int y; }; #define CAGALHAO 1 int main(void) { struct Point pontos[] = {{1, 2}, {3, 4}}; printf("Hello cards\n"); printCarta(cartas[0]); printf("Hello bostinha: " _S(1) "\n"); printf("Cagalhao: " __S(CAGALHAO) "\n"); printf("Cagalhao: " _S(CAGALHAO) "\n"); printf("Size array: %ld", sizeof(pontos) / sizeof(pontos[0])); }