Si no importa el valor a mi personalmente me gustan los enum, p.ej. un array con enteros pero donde cada entero simboliza una cosa, el enum es la lista inteligible de lo que hay en el array
Código:
enum {
COLOR,
SIZE,
EFFECT,
ATTRIBUTE_COUNTER
} ATTRIBUTES;
int attributes[ATTRIBUTE_COUNTER] = {
0xff0000,
14,
0
};
Me parece mas asequible para casos en que aun siendo datos constantes dentro de la instancia no lo sean dentro de la aplicacion (o esten definidos por defecto pero puedan ser personalizables).
Pero si debo guardar algun tipo de dato concreto para todas las instancias de una misma aplicacion suelo usar una cabecera con defines
Código:
#define APP_NAME "Nombre Aplicacion"
#define APP_SVERSION "1.0"
#define APP_USERAGENT "NomApp/1.0"
#define DEF_WIDTH 800
#define DEF_HEIGHT 600
En caso de librerias que necesitan guardar tipos de datos acostumbro a bloquear memoria para un struct (o los que necesite) y guardo ahi todo lo que sea de la libreria.
Saludos
vosk