P. 1
Data Structures Using C

Data Structures Using C


|Views: 1,314|Likes:
Published by TB

More info:

Published by: TB on Mar 18, 2009
Copyright:Traditional Copyright: All rights reserved


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less






The next program [PASSBACK.C] illustrates how a function can
manipulate an array as a variable parameter.

#include "stdio.h"
void main( )
int index;
int matrix[20];
/* generate data


for (index = 0 ;index < 20; index++)
matrix[index] = index + 1;
/* print original data


for (index = 0; index < 5 ;index++)
printf("Start matrix[%d] = %d\n", index, matrix[index]);
/* go to a function & modify matrix


/* print modified matrix


for (index = 0; index < 5 ;index++)
printf("Back matrix[%d] = %d\n", index, matrix[index]);



/* This will illustrate returning data


int list[ ];
int i;

/* print original matrix


for (i = 0;i < 5; i++)
printf("Before matrix[%d] = %d\n", i list[i]);
/* add 10 to all values


for (i = 0; i < 20; i++)
list[i] += 10;
/* print modified matrix


for (i = 0; i < 5; i++)
printf("After matrix[%d] = %d\n", i, list[i]);

Module 815

Data Structures Using C

Page 813-9


An array of 20 variables named matrix is defined, some nonsense data is
assigned to the variables, and the first five values are printed out. Then
we call the function dosome taking along the entire array as a

The function dosome has a name in its parentheses also but it uses the
local name ‘list’ for the array. The function needs to be told that it is
really getting an array passed to it and that the array is of type int. Line
20 does that by defining list as an integer type variable and including the
square brackets to indicate an array. It is not necessary to tell the
function how many elements are in the array, but you could if you so
desired. Generally a function works with an array until some end-of-
data marker is found, such as a NULL for a string, or some other
previously defined data or pattern. Many times, another piece of data is
passed to the function with a count of how many elements to work
with. In our present illustration, we will use a fixed number of elements
to keep it simple.

So far nothing is different from the previous functions we have called
except that we have passed more data points to the function this time
than we ever have before, having passed 20 integer values. We print out
the first 5 again to see if they did indeed get passed here. Then we add
ten to each of the elements and print out the new values. Finally we
return to the main program and print out the same 5 data points. We
find that we have indeed modified the data in the function, and when we
returned to the main program, we brought the changes back. Compile
and run this program to verify this conclusion.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->