So in this segment, we're going to look at tokens to the language that are called keywords. Also another programming language is they were sometimes referred to as reserve words. I am going to use my browser to look at. You can get many tables for this but it makes it a little easier. So this is the standard ANSI C, recognizes the following keywords. There are some additional ones but I'm going to start by grouping them. It means that they can't be used for other purposes. So you can't use them as ordinary identifiers. Keep in mind certain things that look like keywords aren't keywords. So typically on an exam, a simple mistake is to think that main, M-A-I-N, is a keyword because you're seeing it all the time as an identifier that by default introduces the execution of the main C program. But main is just a keyword. Another thing that might be thought of as a keyword is actually a special word for the pre-processor, which is something like include and words that get introduced by the sharp sign like sharp include or sharp define. While they have special purpose in the language, in the C compiler system they are not these reserved words or keywords. Now, a number of the keywords like double, float, and long char, those get used to declare data types. Those are used for the built-in or what we call the native data types of this language. Another one of those is enum. So they're one category. So let's look at char. We'll get a further definition by clicking on it. Int and char basic datatypes for integer and character. Variables of type int are one machine word in length. That's typically on most machines four bytes now. They can also be modified by signed, unsigned, short, and long. But that's for a later time. So character types are very important. They are the basic types that you're going to work with in the language. The Int type which is one of our most basic here, is a range of int typically represented between roughly two billion minus two billion and plus two billion, and the sign type and then the unsigned type, it's zero to 4,294,967,295. Break, continue, goto, for, if, these are all keywords, else, that affects the flow of control of the language. Later, we're going to go and show you what an if else statement is. We're going to avoid goto. So consider goto obsolete. Goto is a way of jumping anywhere in the program code. That's considered a no no. In fact, some languages now no longer allow goto. Return, we've seen a lot of our simple programs and that just means finish the execution of the current function and if it's return of an expression, it returns the expression value to that function from where it was called. Later, we're going to see fancy things like typedef. They are a way of giving new names to types or frequently compound types. There are some specialized types like union and struck. Struck will be heavily used but in part B of this course, and union not so much. Generally, union can be avoided. Now, among these keywords, auto is obsolete again. Auto is just rarely used, unneeded. It's what's called a Storage classification. Among the Storage classifications, you have auto and you have register. Again, register is unneeded. Register says, "place whatever this is into a high-speed storage". Well, it turns out the compiler can do a better job than you can do. Indeed, modern C systems are running on things that don't need this kind of programmer directed optimization. So you're not going to see auto, you're not going to see register, you are going to see static, but it has a very special set of uses. Those are storage classifies. So get used to this, this keyword list. I think there's about 30 in this keyword list. Most of them are critical concepts. But the nice thing about a language like C, it has a relatively small number of these. In current C++, the number of keywords exceeds I believe, I'm not exactly sure. Why don't we look it up? Though I may use My compiler and C, C++, keyword table. You can see this is a very much bigger set and closes a subset things that we saw in the other case. Indeed, C will let you migrate to C++, but we're not starting with C++ because look at this table. It's what? 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. It's about 96 from counting and indeed, there are some other things that are special context. So roughly speaking, C++, modern C++ has three times the keywords. You can imagine that in many ways, it's three times more complicated. Though of course, you don't have to use the full language.