summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/OR_PRACTICAL_C/12_6.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/CONTRIB/OR_PRACTICAL_C/12_6.c')
-rw-r--r--reference/C/CONTRIB/OR_PRACTICAL_C/12_6.c50
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;
+}