 So something that we can think about when we've been designing out our code so far is that we've actually been sort of throwing things out sporadically in the memory. So when I say something like int x equals 5, maybe that gets allocated right here. And then right below that I say something like int y equals 10. Well, it doesn't appear right next to it. It doesn't go right here. That's because something else might be going on in my computer at the same time. So I actually run into the big issue of just wherever I can throw it into my memory. Remember, RAM stands for Random Access Memory. It just throws it wherever it can. But we actually kind of have a bit of an issue. What happens if I wanted to make a few more of these? What happens if I wanted to, say, make 100 of them? You're thinking to yourself, that's cruel. Why would an instructor do that? Well, because we're instructors, but you'd probably start going through the process like this. You'd start going through the song and dance of going through each one of these over and over and over again until you got to 100. And then I come back and I say, do 200 because you did it the wrong way and I'm doing this to spite you, at which point you hate me. But what we're looking at is, like I said, you're doing it the wrong way. Well, if I want to make all of these variables, what I probably want to do is I want to have them stored in a specific way, stored sequentially, if you will. The reason why is if we think about it, this right here, this is an integer. Now, why does that matter? Well, an integer has 32 bits stored. Bites used to represent this number. So what I can do is now I can think about this in the idea that let's think about this as real estate. Let's think, for example, an integer is like building a house. I'm just going to kind of draw a little house here. It's like a little house that's just being drawn, hangs out and whatnot. Well, that's being allocated. That's an integer. Now say, for example, I make a double. Now a double, that's a really big house. That's kind of like, you know, let's just say it's a mansion. It's the mansion that's right next door, or I guess in our case, a skyscraper. So what I need to do is if we know what my data is, if we know sort of my collection of data, if I know that each one of these are going to be integers, that tells me that I can explicitly know how far it is going to be. Because what this allows for me to do is I can now follow some mathematical equations. Say I have a list of numbers. Again, say I have a list of numbers. And in those numbers, I've got 5, 10, 25, and 100. Each one of these are an integer, which means each one is 32 bytes. Well, I would like it so that they all appear sort of in the same spot sequentially. Because, again, each one is 32 bytes. So I know how big this is being allocated. I know how big this is getting allocated. I know how big this is being allocated. And I know how big this is being allocated. So what this allows for me to do is now I can think about it in the sense of where they're located in sort of this connection. And, again, the computer starts counting at zero. So we can think that this 5, that is in the zero spot, this 10, that is in the one spot, this 25 is in the two spot, and this 100 is in the three spot. Again, what we're looking at is this idea that each one of these integers are 32 bits. So what this allows for me to do is I can come in here and I can say that, well, oh, that 5, that 5 starts at my memory address. And then I can look at, say for example, my 10. This is going to be terrible to draw, but my 10, that's my memory address plus 32 bytes. Because, again, I had to store 5, now I'm storing 10. So you can already start to imagine what I can do is here, this is memory address plus. And instead of 32 or 64, I'm going to say plus 32 times 2. Because in reality what we've been doing is that number that we have here, that's actually indicating how far away from the beginning of the memory address I want to be looking. So when I do something like here, I'm really saying plus 32 times 1, and I'm really saying 32 times 0 here. And so you can imagine this one would be 32 times 32 times 3. So what this allows for me to do is now that I have sort of this number that I can work with, this allows for me to now store my numbers in sequential order. And that becomes the basis for an array. So let's say, for example, I had my days of the week. Sunday, sorry about that, Sunday, Monday, Tuesday, Wednesday, Thursday, Thursday, Friday and Saturday. Now, again, let's follow that same kind of mentality. We're dealing with strings now. Strings are a little bigger than 32 bits, but I can start counting the same way. I can think of Sunday as my zero, Monday as my one, Tuesday as my two, Wednesday as my three, Thursday as my four, Friday as five, Saturday as six. Now these numbers right here, these guys right here, these are actually something known as my index. And it's again how I sort of reference any particular, another word that we'll kind of introduce here. These guys are known as my elements. So I use this index to identify which element in my array I'm talking about. So if I'm talking about say, for example, Wednesday, Wednesday is currently being stored in the three index of my array.