1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#define MAX 10
main()
{
int array[MAX];
void init_array_1();
void init_array_2();
/* one way of initializing the array */
init_array_1(array);
/* another way of initializing the array */
init_array_1(&array[0]);
/* works, but the compiler generates a warning */
init_array_1(&array);
/* Similar to the first method but */
/* function is different */
init_array_2(array);
return (0);
}
/********************************************************
* init_array_1 -- Zero out an array *
* *
* Parameters *
* data -- the array to zero *
********************************************************/
void init_array_1(int data[])
{
int index;
for (index = 0; index < MAX; index++)
data[index] = 0;
}
/********************************************************
* init_array_2 -- Zero out an array *
* *
* Parameters *
* data_ptr -- pointer to array to zero *
********************************************************/
void init_array_2(int *data_ptr)
{
int index;
for (index = 0; index < MAX; index++)
*(data_ptr + index) = 0;
}
|