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
170 views
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/-

S.No.

Course Name

 Coupon

1.

Tensorflow 2 & Keras:Deep Learning & Artificial Intelligence

Apply Coupon

2.

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

3.

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;  

}

return EXIT_SUCCESS;

}

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). */

or

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

394 comments

4.6k users

 Goeduhub:

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