diff options
Diffstat (limited to 'reference/C/CONTRIB/OR_PRACTICAL_C/12_6.c')
-rw-r--r-- | reference/C/CONTRIB/OR_PRACTICAL_C/12_6.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/OR_PRACTICAL_C/12_6.c b/reference/C/CONTRIB/OR_PRACTICAL_C/12_6.c new file mode 100644 index 0000000..7667200 --- /dev/null +++ b/reference/C/CONTRIB/OR_PRACTICAL_C/12_6.c @@ -0,0 +1,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; +} |