Arrays are useful critters because they can be used in many ways to store large amounts of data in a structured way. For example, a tic-tac-toe board can be held in an array. Arrays are essentially a way to store many values under the same name. You can make an array out of anys say you want to store astring, because C had no built-in datatype for strings, it was common to usearrays of characters to simulate strings. (C++ now has a string type as partof the standard library.)
- Multi-dimensional arrays. C supports multidimensional arrays. The simplest form of the multidimensional array is the two-dimensional array. 2: Pointer to an array. You can generate a pointer to the first element of an array by simply specifying the array name, without any index. 3: Passing arrays to functions.
- C Arrays - Tutorial to learn C Arrays in simple, easy and step by step way with syntax, examples and notes. Covers topics like Introduction to Arrays, Declaring Arrays, Initializing Arrays, Accessing Arrays, Multi-Dimensional Arrays, Accessing Two-dimensional Arrays, Passing arrays to the Function etc.
C: Multidimensional Arrays So we've talked about arrays before, however if we delve a little deeper, we can actually have arrays which have multiple dimensions! If you think of one array as a line of pieces of data, you could have an array of array which would essentially be a line of lines.
For example: will allow you to declare a char array of 100 elements, or slots. Then you canreceive input into it from the user, and if the user types in a long string, it will go in the array. The neat thing is that it is very easy to work with strings in this way, and there is even a header file called cstring. There is another lesson on the uses of strings, so it's not necessary to discuss here.The most useful aspect of arrays is multidimensional arrays. How I think about multi-dimensional arrays: This is a graphic of what a two-dimensional array looks like when I visualize it.
For example: declares an array that has two dimensions. Think of it as a chessboard. You can easily use this to store information about some kind of game or to write something like tic-tac-toe. To access it, all you need are two variables, one that goes in the first slot and one that goes in the second slot. You can even make a three dimensional array, though you probably won't need to. In fact, you could make a four-hundred dimensional array. It would be confusing to visualize, however. Arrays are treated like any other variable in most ways. You can modify one value in it by putting: or, for two dimensional arrays However, you should never attempt to write data past the last element of the array, such as when you have a 10 element array, and you try to write to the [10] element. The memory for the array that was allocated for it will only be ten locations in memory, but the next location could be anything, which could crash your computer.
You will find lots of useful things to do with arrays, from storing information about certain things under one name, to making games like tic-tac-toe. One suggestion I have is to use for loops when accessing arrays. Here you see that the loops work well because they increment the variable for you, and you onlyneed to increment by one. It's the easiest loop to read, and you access the entire array.
One thing that arrays don't require that other variables do, is a reference operator whenyou want to have a pointer to the string. For example: As opposed to The reason for this is that when an array name is used as an expression, it refers to a pointer to the first element, not the entire array. This rule causes a great deal of confusion, for more information please see our Frequently Asked Questions.
Quiz yourself
Previous: Structures
Next: Strings
Back to C++ Tutorial Index
Arrays, in C++, are simply arrangements of 'objects' -- in the basic usage we'll be using in this tutorial, we will be using arrays to simply store lists of data (of a certain because each piece of data stored (whether it be an integer, string, or something entirely different) has a number assigned to it that it can be referenced by. This is called the index, and the index number simply counts up from 0 as the array gets bigger - so the first element in the array would have the index of 0, the second the index of 1, etc.
Obviously storing data in this tabular-like manor is very useful in real world applications - a classic example that is usually given is pupils' scores in a test. Perhaps each student got a score out of 100 for their test - this data would be best stored in an int
eger array. In the real world the scores would probably be recorded in a text file or something similar, but we could always build in functionality to read this file and then store that data in an array inside our application.
Arrays can be created in C++ very much like 'normal variables' (with a) , followed by the index number of the element we wish to target in square brackets, followed by an equals sign and then the value we wish to set it to (and then obviously a semi-colon to end the line). So if we wanted to initialize the first element (of index 0) in our array to the value '15', we could write the following:
The same could also be done for the scores of the other members of the class (elements of the array from index 0 to index 29). If we then wanted to use these values later (for example if we wanted to cout
one or all of the elements), we can access a certain element of the array just as we did when we were assigning values to each element - by writing the array name and then the index number in square brackets. So we could output the first element in the array (remember, this is the one with the index of 0!) by writing something like cout << ClassScores[0];
.
You may have noticed when we learnt how to initialize the elements in arrays earlier, that the process was extremely long and drawn out (imagine having to initialize hundreds of array elements!) - luckily there is an easier way to initialize the elements in an array. Instead of individually setting each element to a certain value (which can be done at any point in the program, not just at element initialization) we can actually initialize the elements when we declare the array! This method of initialization is accomplished by simply shoving an equals sign after the declaration of the array and then specifying the different array elements, with commas separating them, in curly brackets. This method doesn't require any value in the square brackets either as the compiler can calculate how many elements we are initializing and set the array size to that! To show this method of initialization, let's just set some values for each score in the class at the array declaration - let's cut it down to 20 this time for the sake of simplicity:
With an array declared and initialized, we can do a whole bunch of stuff with it! A nice example might be outputting all of the students' scores - unfortunately, however, there's no really easy and clean way to do this without knowing about 'loops' or some other fancy things, so for now we'll have to just repeat a bunch of code. Generally speaking when you feel your repeating a lot of code when C++ programming, there is probably a better way to accomplish what you're trying to do, but for now just go with it. I've cut the array down to 5 elements this time, simply because I don't want to have to copy and paste a single line 20 times - you'll learn about a more elegant solution to our problem of outputting array elements in the next tutorial.
Arrays En Dev C Example
Another really cool thing that you could do with arrays is trying to 're-create' the 'string', character arrays like 'H', 'e', 'l', 'l', 'o'
were used -- character arrays of this kind can, unlike most, actually be outputted just by cout
ing their name because they're so much like strings. It's worth nothing that when creating character arrays like these, however, you should also add another character onto the array, which is a 'null character' which shows where the string ends - this is called the null termination of a string, and the null character is expressed via '0'
.
Array In Dev C++
'Real' strings can actually be treated just like character arrays in some circumstances too - using square brackets and an index number gets a certain character of the string (for example string_name[1]
of 'Hello'
would be 'e'
). If you're feeling up to the challenge, try moving a string variable defined in code (of a fixed length) like string one = 'Hello';
, to a 'char' array of the same length using the information above. It probably seems a bit pointless, I know, but it's good practice with using arrays. If you don't feel up to the challenge, the code for doing such a thing (which once again would be a bit cleaner with 'loops'), is as follows: