Well, it's easier to type out . I think the "real" reason was so that you could make applications for Windows on multiple platforms/architectures and all you'd have to do was use a different header file, instead of changing a bunch or variable types in your code.