Free Online Tutorials  Go To Your University  Placement Preparation  Online Live ClassesYoutube Live Link

SUMMER TRAINING AT GOEDUHUB TECHNOLOGIES, JAIPUR (Call:- 7976731765)Project Based Best Summer Training Courses in Jaipur

0 like 0 dislike
51 views
in Tutorial & Interview questions by Goeduhub's Expert (8.1k points)

 Allocate and zero-initialize an array with user defined size

1 Answer

0 like 0 dislike
by Goeduhub's Expert (8.1k 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().

 Goeduhub:

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