quickbasicking,
Is it easy to learn?
Yes! The toughest part is understanding pointers. If you understand how memory works and is addressed, that should not be too difficult
Would it work to make a multi-tasking program like Windows?
That is more of an Operating System issue. C does not inherently support multi-tasking (multi-threading) but if the operating system supports threads, then a C API always exists (to my knowledge). Windows supports multi-threading
Is it possible to make an OS?
Yes. Windows, UNIX, linux are all written in C. Although some very hardware dependent modules are written in assembler.
Is it complicated?
In my experience pointers are probably the most complicated part of C. Additionally, C gives the programmer the most flexibility. However, C will happily compile and attempt to run a fatally flawed program. Some of these flaws (which are notoriously associated with pointer use/misuse) can be difficult to debug.
That being said, it is a great language that will be around for a long time. So it is probably best to learn it if you are going to work on any application level programs.
Brudnakm