-
First you write code in some text editor. It doesn't matter what editor, it could even be notepad. Then you have to compile that code. Compilation refers to the processing of source code files (.c, .cc, or .cpp) and the creation of an 'object' file. This step doesn't create anything the user can actually run. Instead, the compiler merely produces the machine language instructions that correspond to the source code file that was compiled. read for more Compilation error is therefore something that occured during this phase, most likely syntax error (misspelled some function name, or trying to do something that C doesn't allow)
So, after compilation, you have object files. In simple programs you have only one object file, so it's difficult to understand need for it (why not just build everything at once?). But if you have more different files that you want to merge into one program, first you have to compile every single one into object. Then it's linker's job to take all object files and to make executable out of it. Linker error is most likely definition/declaration error (you can have function defined in one file, and declared in another. If these two aren't identical linker error occurs).
Runtime error 99% of the time has to do with evil horrible pointers. It happens at the time program is working, and therefore, the mistake cannot be located so easily. Mostly has to do with program trying to acces/alter forbidden memory, OR program altering memory it should not!
-
char getchar(void);Returns one character from stdin buffer (a.k.a. your keyboard) - They differ a lot, since turbo c++ compiler is ANCIENT. There is something that is called standard C++ language. It wasn't fully defined at turbo c++ time, so some things that were differently defined don't work nowadays. My advice is: don't go with turbo c++, get some new compilers. And try not to use c++ compilers, although they should work with C :) To answer specific question: printf() is the same as before.