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.



GeorgeHernandez.comSome rights reserved