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)