C Global Struct Pointer
c, global-variables, pointers, struct, variables
Solution
This is a declaration:
extern vehicle *myVehicle; /* extern makes this a declaration,
and tells the compiler there is
a definition elsewhere. */
Add a definition:
vehicle *myVehicle;
to exactly one `.c` file.
Problem
I have a typedef'ed structure declared in a file. I have a pointer to it and want to use it in multiple files as a global variable. Can someone point out what I am doing wrong? fileA.h: ``` typedef struct { bool connected; char name[20]; }vehicle; extern vehicle *myVehicle; ``` fileA.c: ``` #include "fileA.h" void myFunction(){ myVehicle = malloc(sizeof(vehicle)); myVehicle->connected = FALSE; } ``` fileB.c: ``` #include "fileA.h" void anotherFunction(){ strcpy(myVehicle->name, "this is my car"); } ``` The error I get is: Undefined external "myVehicle" referred to in fileA