The stricter the compiler is about typing, the less likely you are to get strange behavior or odd crashes. C is not so strictly typed, C++ is stricter and C# strictest of all.
When you declare a variable in a program, you specify its type. This can be int, bool, pointer or string etc.
This tells the compiler how to handle the variable and check for type errors.

