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
175 views
in Tutorial & Interview questions by Goeduhub's Expert (8.3k points)

 Allocate and zero-initialize an array with user defined size

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
#include <stdio.h>

#include <stdlib.h>

int main (void)

{  

int * pdata;  

size_t n;

printf ("Enter the size of the array: ");  

fflush(stdout);                  /* Make sure the prompt gets printed to buffered stdout. */

if (1 != scanf("%zu", &n))              /* If zu is not supported (Windows?) use lu. */  

{    

fprintf("scanf() did not read a in proper value.\n");    

exit(EXIT_FAILURE);  

}

pdata = calloc(n, sizeof *pdata);  

if (NULL == pdata)  

{    

perror("calloc() failed");                              /* Print error. */    

exit(EXIT_FAILURE);  

}

free(pdata);                    /* Clean up. */

return EXIT_SUCCESS;

}

This program tries to scan in an unsigned integer value from standard input, allocate a block of memory for an array of n elements of type int by calling the calloc() function. The memory is initialized to all zeros by the latter.

In case of success the memory is releases by the call to free().

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::   |  | 
...