lecture 15: projects using similar data. what is an array? an array is a data structure consisting...

8
Lecture 15: Projects Using Similar Data

Upload: julius-bradley

Post on 17-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 15: Projects Using Similar Data. What is an Array? An array is a data structure consisting of related data items of the same type. Stored in a

Lecture 15: Projects Using Similar Data

Page 2: Lecture 15: Projects Using Similar Data. What is an Array? An array is a data structure consisting of related data items of the same type. Stored in a

What is an Array?An array is a data structure consisting of related data items of the same type.Stored in a group of memory locationsDefining arrays

int arrayName[ 100 ];

Examples int a[5]; float b[120], x[24];

……

a[0] 5

memory

10

15

3

23

a[1]

a[2]

a[3]a[4]

Specifying the type of each element

Name of the array

The number of the elements

Page 3: Lecture 15: Projects Using Similar Data. What is an Array? An array is a data structure consisting of related data items of the same type. Stored in a

Passing Arrays to FunctionsThe name of an array evaluates to the address of the first element of the array.Passing arrays

To pass an array argument to a function, specify the name of the array without any brackets

int anArray[100];aFunction( anArray, 100 );

Array size usually passed to functionFunction knows where the array is stored

Modifies original memory locations

Page 4: Lecture 15: Projects Using Similar Data. What is an Array? An array is a data structure consisting of related data items of the same type. Stored in a

Defining Function with Array ParametersThe function’s parameter list must specify that an array will be received.

void aFunction( int ary[ ], int size ) {

……..}

Function prototype void aFunction( int ary[ ], int size );

Parameter names optional in prototype int ary[ ] could be written int [] int size could be simply int

The header of the function

The size of the array is NOT required.

void aFunction( int [ ], int );

Page 5: Lecture 15: Projects Using Similar Data. What is an Array? An array is a data structure consisting of related data items of the same type. Stored in a

Defining Function with Array Parameters

Using the type qualifier const.void aFunction( const int ary[ ], int size )

The modification of the array elements are NOT allowed.

Any attempt to modify an element of the array in the function body results in a compile-time error.

The header of the function

Page 6: Lecture 15: Projects Using Similar Data. What is an Array? An array is a data structure consisting of related data items of the same type. Stored in a

Passing Array Elements

Passed by call-by-value.Array elements are like normal variables

Pass subscripted name to functionvoid modifyArrayElement( int arrayElement );

int array[ 10 ] = {0};

modifyArrayElement( array[1] );

modifyArrayElement( array[8] );

Page 7: Lecture 15: Projects Using Similar Data. What is an Array? An array is a data structure consisting of related data items of the same type. Stored in a

Practice Question

Q. Which is the right way to pass an integer array argument ary to the following function?

void func( int a[] );int ary[25];

A. func( ary[25] );B. func( ary[] );C. func( ary );D. func( ary[0] );

Solu

tion

: C

Page 8: Lecture 15: Projects Using Similar Data. What is an Array? An array is a data structure consisting of related data items of the same type. Stored in a

Practice Question

Q. Which is NOT the right way to pass an integer array argument ary to the following function?

#include<stdio.h>#define SIZE 5;void func( int a[], int x );int main( void ){int b[SIZE] = {1, 2, 3, 4, 5};

func(b, b[1]);printf(“%d %d\n”, b[0], b[1]);return 0;}

void func( int a[], int x){int k;for (k = 0; k < SIZE; k++) a[k] *= 2;x *= 2;}

A. 1 2B. 2 4C. 2 8D. 1 4

Solu

tion

: B