Keywords or reserved keywords are reserved for use by the language and cannot be used as identifiers or redefined.

ANSI C (C89) and ISO C (C90) keywords.

auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while

ISO C (C99) keywords.

_Bool, _Complex, _Imaginary, auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, inline, int, long, register, restrict, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while

The C99 keywords are a superset of the C90 keywords --the C99 superset keywords are in bold.

Microsoft C keywords.

__asm, __based, __cdecl, __declspec, __except, __fastcall, __finally, __inline, __int16, __int32, __int64, __int8, __leave, __stdcall, __try, auto, break, case, char, const, continue, default, dllexport, dllimport, do, double, else, enum, extern, float, for, goto, if, int, long, naked, register, return, short, signed, sizeof, static, struct, switch, thread, typedef, union, unsigned, void, volatile, while


The Microsoft C keywords are a superset of the C89 keywords --the Microsoft C superset keywords are in bold.
 

ANSI C++ (C++ 98) keywords.

and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch, char, class, compl, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, not, not_eq, operator, or, or_eq, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq

The C++ 89 keywords are a superset of the C89 keywords --the entire C89 subset is in bold.

Microsoft C++ keywords.

__abstract, __alignof, __asm, __assume, __based, __box, __cdecl, __declspec, __delegate, __event, __except, __except, __fastcall, __finally, __finally, __forceinline, __gc, __hook, __identifier, __if_exists, __if_not_exists, __inline, __int16, __int32, __int64, __int8, __interface, __leave, __m128, __m128d, __m128i, __m64, __multiple_inheritance, __nogc, __noop, __pin, __property, __raise, __sealed, __single_inheritance, __stdcall, __super, __try, __try_cast, __unhook, __uuidof, __value, __virtual_inheritance, __w64, __wchar_t, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, deprecated, dllexport, dllimport, do, double, dynamic_cast, else, enum, explicit, extern, false, float, for, friend, goto, if, inline, int, long, mutable, naked, namespace, new, noinline, noreturn, nothrow, novtable, operator, private, property, protected, public, register, reinterpret_cast, return, selectany, short, signed, sizeof, static, static_cast, struct, switch, template, this, thread, throw, true, try, typedef, typeid, typename, union, unsigned, using, uuid, virtual, void, volatile, wchar_t, while

The Microsoft C++ keywords are a superset and subset of the C++ 89 keywords -- the partial C++ 89 keywords are in bold. These keywords are in C++ 89 but not in Microsoft C++: and, and_eq, asm, auto, bitand, bitor, compl, export, not, not_eq, or, or_eq, xor, xor_eq.

Java keywords.

abstract, assert***, boolean, break, byte, case, catch, char, class, const*, continue, default, do, double, else, enum****, extends, final, finally, float, for, goto*, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp**, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while

*Not used. **Added in 1.2. ***Added in 1.4. ****Added in 5.0.

The Java keywords are a superset and subset of the C89 keywords --the partial C89 subset is in bold. These keywords are in C89 but not in Java: auto, extern, register, signed, sizeof, struct, typedef, union, unsigned.

Some Java keywords are also in C# --these are in italics.

All of the Java keywords are JavaScript keywords except for: strictfp.

JavaScript keywords.

abstract, boolean, break, byte, case, catch, char, class, const, continue, debugger, default, delete, do, double, else, enum, export, extends, false, final, finally, float, for, function, goto, if, implements, import, in, instanceof, int, interface, long, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, true, try, typeof, var, void, volatile, while, with

The JavaScript keywords are a superset of the Java keywords (except that strictfp is not a JavaScript keyword) --the JavaScript superset keywords are in bold.

C# keywords.

abstract, as, base, bool, break, byte, case, catch, char, checked, class, const, continue, decimal, default, delegate, do, double, else, enum, event, explicit, extern, false, finally, fixed, float, for, foreach, goto, if, implicit, in, int, interface, internal, is, lock, long, namespace, new, null, object, operator, out, override, params, private, protected, public, readonly, ref, return, sbyte, sealed, short, sizeof, stackalloc, static, string, struct, switch, this, throw, true, try, typeof, uint, ulong, unchecked, unsafe, ushort, using, virtual, void, volatile, while

The C# keywords are a superset and subset of the C89 keywords. --the partial C89 subset is in bold. These keywords are in C89 but not in C#: auto, register, signed, typedef, union, unsigned.

Some Java keywords are also in C# --these are in italics.

Page Modified: (Hand noted: 2005-09-29 22:49:05Z) (Auto noted: 2007-11-17 06:48:47Z)