Pentru a defini un graf utilizând pointeri, vom defini următoarele structuri:
typedef struct NODL
{
//nodul adiacent indicat
struct NODG *nod;
//pointer spre următorul nod în lista de adiacenţe
struct NODL *urml;
} nodl;
typedef struct NODG
{
int cheie;
… informaţii
//începutul şi sfârşitul listei de adiacenţă
struct NODL *inc_lista, *sfarsit_lista;
//pointer spre următorul nod al grafului
struct NODG *urmg;
} nodg;
//începutul şi sfârşitul listei de noduri din graf
struct nodg *incG, *sfG;