TP 11 exo1: simplify the logic in the array creation and resizing
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 13 Mar 2017 14:00:07 +0000 (15:00 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 13 Mar 2017 14:00:07 +0000 (15:00 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
TP_13/exo1/lib/array.c
TP_13/exo1/src/main.c

index f7e324f662e21e73bb86c8bcc1850d9ae36b1b72..d2e6182808f6dea9fa87ff335d02771d6782c58f 100644 (file)
@@ -4,15 +4,13 @@
 
 int* create_tab(int tab[], unsigned tab_size) {
     tab = malloc(sizeof(int) * tab_size);
-    if (tab == NULL) {
-        return NULL;
-    } else {
+    if (tab != NULL) {
         /* initialize to zero the integer array */
         for (unsigned i = 0; i < tab_size; i++) {
             tab[i] = 0;
         }
-        return tab;
     }
+    return tab;
 }
 
 void free_tab(int tab[]) {
@@ -38,11 +36,7 @@ int* concat_tab(int tab1[], unsigned tab_size1, int tab2[], unsigned tab_size2,
 
 int* resize_tab(int tab[], unsigned new_tab_size) {
     tab = realloc(tab, sizeof(int) * new_tab_size);
-    if (tab == NULL) {
-        return NULL;
-    } else {
-        return tab;
-    }
+    return tab;
 }
 
 /* number of occurences of an element in an unsorted array  */
index 658930e3c75be49a87ef13a9735a653c8576941d..9f23749fbc3b2def57ca83457ac762d44e426e0a 100644 (file)
@@ -17,6 +17,8 @@ int main() {
     const unsigned tab_new_size = 20;
     tab = resize_tab(tab, tab_new_size);
 
+    printf("%d\n", tab_new_size);
+
     display_array(tab, tab_new_size);
 
     free_tab(tab);