0% found this document useful (0 votes)
7 views

Arrays Lecture Notes

The document provides an overview of arrays in C programming, including their definition, declaration, assignment, and input/output operations. It explains the structure of arrays, including elements and indices, and covers the initialization of arrays and bounds checking. Additionally, it introduces two-dimensional and multi-dimensional arrays, as well as parallel arrays, with examples of usage and programming practices.

Uploaded by

ben munjaru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Arrays Lecture Notes

The document provides an overview of arrays in C programming, including their definition, declaration, assignment, and input/output operations. It explains the structure of arrays, including elements and indices, and covers the initialization of arrays and bounds checking. Additionally, it introduces two-dimensional and multi-dimensional arrays, as well as parallel arrays, with examples of usage and programming practices.

Uploaded by

ben munjaru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Arrays

C Programming
Lecture Topics

Array definition
Array declaration
Array assignment
Array Input / Output
Examples

What is an Array?
◼ It’s a collection of variables (the same type)
grouped into one name.
◼ More specifically, it’s a group of memory
locations for variables of the same type and
specified by the same name.
◼ It makes dealing with related variables much
easier.
Parts of Arrays
Elements
Refers to the number of individual items
represented by the array

Index (or more formally, Subscript)


Refers to one particular element in the array
The first position in an array is represented by
an index, or subscript of 0 (zero). For example,
• arrStudentGrades[ 0 ]
The second position is referred to by
• arrStudentGrades[ 1 ]
Arrays
An array is an ordered list of values

An array of size N is indexed from zero to N-1


This array holds 10 values that are indexed from 0 to 9

Arrays
A particular value in an array is referenced using
the array name followed by the index in brackets
For example, the expression

scores[2]

refers to the value 94 (the 3rd value in the array)


That expression represents a place to store a
single integer and can be used wherever an
integer variable can be used

Arrays
For example, an array element can be assigned a
value, printed, or used in a calculation:

scores[2] = 89;
scores[first] = scores[first] + 2;

mean = (scores[0] + scores[1])/2;

printf ("Top = %d”, scores[5]);

So how do we use arrays?

Same concepts as other variables apply


Must declare the array
Must initialize the array
Can use arrays in expressions and functions,
setting elements’ values or using their values,
similar to the use of ordinary variables
Declaring an array
The declaration is similar to the declaration of
other variables (except for the brackets and
number of elements):
int iMyFirstArray[ 15 ], iMySecondArray[ 20 ];

You can use a #define constant to set the size


of the array
#define GRID_ROWS_MAX 8 int
arrGridRows[ GRID_ROWS_MAX ] ;

Declaring Arrays

The scores array could be declared as


follows:

int scores[10] ;
The type of the variable scores is an array
of integers

The variable scores is set to a new blank


array that can hold 10 integers

Declaring Arrays

Some examples of array declarations:


double prices[500] ;

int factor[12] , age[6];

char codes[30] ;

Initializing an Array

You can initialize an array when you declare it, as


you do with other variables
Syntax is slightly different, as you are now
initializing more than one element at a time
One way at declaration, using initializers: int
iMyFirstArray[ 5 ] = { 0, 0, 0, 0, 0 } ;
Note the braces around the initial zeroes which
themselves are separated by commas
Initializing an Array (cont’d)
If you specify fewer initializing values
than you have elements, all the rest are
initialized to a value of 0. For example:
int iMyFirstArray[ 5 ] = { 0 }; would set
all elements to 0
int iMyFirstArray[ 5 ] = { 4 }; would set
the zeroth element to 4 and the rest to 0!

Initializing an array without


specifying size
You can also initialize and set the number
of elements with the same step:
int iMyFirstArray[ ] = { 0, 0, 0, 0, 0 } ;
Note: there is NO size specified; C
automatically makes it 5 elements since
you gave five initial values
Initializer Lists
Examples:
int units[ ] = {147, 323, 89, 933, 540,
269, 97, 114, 298, 476}; char letterGrades[
] = {'A', 'B', 'C', 'D', ’F'};

Note that an initializer list can only be


used in the array declaration
Initializing array with a for loop
After declaring an array, you can initialize it in
the body of your program by using a for loop:
int i = 0, iMyFirstArray[ 5 ] ; /* size is 5*/
for ( i = 0 ; i <= 4 ; i++
)
{ iMyFirstArray[ i ] = 0 ;
} /* end for i */

Note the upper bound is 4, not 5. That is, you


loop through 0 to 4 to initialize an array with 5
elements
Bounds Checking

Once an array is created, it has a fixed size

An index used in an array reference must


specify a valid element

That is, the index value must be in bounds


(0 to N-1)
Bounds Checking

For example, if the array codes can hold


100 values, it can be indexed using only
the numbers 0 to 99

If count has the value 100, then the


following reference will cause a problem:
problem

for (int index=0; index <= 100; index++)


codes[index] = index*50 + epsilon;
Array Input/ Output

We typically use for loops for any kind of


array processing.
To input an array, one by one:
for (i=0; i<10 ; i++ ) { printf(“
Enter element %d : “, i ); scanf (
“ %d “, &scores[i] );
}
Array Output

To display an array, one element per line:


for (i=0; i<10 ; i++ )
{
printf(“ scores [%d] : %d\n“, i ,
scores[i] );
}

#define SIZE 10
int main()
{
int myFirstArray[SIZE], i;
for (i=0; i<=SIZE-1; i++)
{
myFirstArray[i] = i * 2;
printf("myFirstArray with subscript of %d holds the
value %d\n", i, myFirstArray[i]);
}
return 0;
}
Two-Dimensional Arrays
 A one-dimensional array stores a list of elements

 A two-dimensional array can be thought of as a table of


elements, with rows and columns


Two Dimensional Arrays

Declaration: int arr[5][5];


Traversed using two nested for loops:
for (i = 0; i<=4 ; i++)
 for (j = 0; j<=4; j++)
 arr[i][j] = i * j;

Multi dimensional arrays

Arrays can be 3 dimensional, 4


dimensional, or of n dimensions.
int arr[3][3][3];
Parallel Arrays

These are independent arrays of the same


size, that have a meaningful connection to
each other.
For example, one array with a students
gpa, and one with his letter grade.
3.8 A

GPA grade
Example

Write a program that reads in an array of


10 elements, gets their average, and then
display the deviation of each element from
that average.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy