I don't understand any of what you said, I'm a rank amateur at this. It's not C++, it's just C. I got it to work by entering it in the h file, and declaring it again in one of the c files, and then the other c file could see it too and it worked. The problem was in the h file I was trying to assign a value to a variable which is not allowed. The error message didn't make that clear at all. I'm confused by looking at other people's stuff, sometimes they have *var and &var, and sometimes just the var, and sometimes with extern in front of it. When should I use one form or another?