Online Courses
Free Tutorials  Go to Your University  Placement Preparation 
Goeduhub's Online Courses @ Udemy in Just INR 570/-
Online Training - Youtube Live Class Link
0 like 0 dislike
in Tutorial & Interview questions by Goeduhub's Expert (8.3k points)

Clearing array contents (zeroing)

Goeduhub's Top Online Courses @Udemy

For Indian Students- INR 360/- || For International Students- $9.99/-


Course Name



Tensorflow 2 & Keras:Deep Learning & Artificial Intelligence

Apply Coupon


Natural Language Processing-NLP with Deep Learning in Python Apply Coupon


Computer Vision OpenCV Python | YOLO| Deep Learning in Colab Apply Coupon
    More Courses

1 Answer

0 like 0 dislike
by Goeduhub's Expert (8.3k points)
Best answer
Sometimes it's necessary to set an array to zero, after the initialization has been done.

#include <stdlib.h>         /* for EXIT_SUCCESS */

#define ARRLEN (10)

int main(void)


int array[ARRLEN];          /* Allocated but not initialised, as not defined static or global. */

  size_t i;  

for(i = 0; i < ARRLEN; ++i)  


array[i] = 0;  




An common short cut to the above loop is to use memset() from <string.h>. Passing array as shown below makes it decay to a pointer to its 1st element.

memset(array, 0, ARRLEN * sizeof (int));     /* Use size explicitly provided type (int here). */


memset(array, 0, ARRLEN * sizeof *array);    /* Use size of type the pointer is pointing to. */

As in this example array is an array and not just a pointer to an array's 1st element (see Array length on why this is important) a third option to 0-out the array is possible:

 memset(array, 0, sizeof array);      /* Use size of the array itself. */

3.3k questions

7.1k answers


4.6k users


About Us | Contact Us || Terms & Conditions | Privacy Policy || Youtube Channel || Telegram Channel © Social::   |  |