DWORD is not a standard C or C++ data type -- it is defined in windows.h. But if you want to use it without windows.h then you will have to declare it yourself as anything you want. For consistancy you might want to declare it as typedef unsigned long DWORD; . But that is no guarentee that it will be a 32-bit integer because the standards do not dictate the size of integers. Compilers are free to make them any size they want. So if that is a question you were asked then the answer is that there is no standard solution.
>Compilers are free to make them any size they want.
Within limits. A long integer in C is absolutely required to be at least 32 bits, so as long as you you can ignore the bits of a larger size, you're solid. C99 introduces the <stdint.h> header where exact-size types are supported (int32_t in this case), if you need an exact type, it's probably a good reason to jump to C99. Otherwise you need to do what we did before: create a typedef and treat it as a non-portable aspect of the code.
Something like that, but you store a character in one byte, not the other way around, but that has nothing to do with the topic of this thread because this thread is about integers, not character arrays.