In json.h
typedef struct { ... } json_config;
but must be
typedef struct json_config { ... } json_config;
So we have compiler error when do forward declaration in this case:
`
struct json_config;
json_config* config;
#include "json.h"
`
The json_parser and json_printer structs defined correctly.
`
typedef struct json_parser {
...
} json_parser;
typedef struct json_printer {
...
} json_printer;
`