- Also called syntax errors. These errors occur when we do not obey the syntax or grammar of the C language. They are discovered by the compiler in statements it does not recognize as valid C statements.
- A mistake in one place in the program may actually cause the error to be found later in the program.
- One mistake can cause many error messages
- These errors occur after the compiler has produced the object code for a file, when the linker is putting together the entire program to make the executable. If we have used a function which the linker did not find in any files or libraries it is linking.
- Semantic Errors: These are errors in the way we use the C language. We may write perfectly valid, syntactically correct statements, but we may not be using the statement's meaning as it was intended.
- Logic Errors: These are the most difficult to detect and correct. They may be caused by an incorrect algorithm or a misunderstanding of the problem statement. Programs may even work in some cases and not in others.