|
|
1.1 root 1:
2:
3: calloc() General Function calloc()
4:
5:
6:
7:
8: Allocate dynamic memory
9:
10: cchhaarr *ccaalllloocc(_c_o_u_n_t, _s_i_z_e) uunnssiiggnneedd _c_o_u_n_t, _s_i_z_e;
11:
12: calloc is one of a set of routines that helps manage a program's
13: arena. ccaalllloocc calls mmaalllloocc to obtain a block large enough to
14: contain _c_o_u_n_t items of _s_i_z_e bytes each; it then initializes the
15: block to zeroes. When this memory is no longer needed, you can
16: return it to the free pool by using the function free.
17:
18: calloc returns the address of the chunk of memory it has
19: allocated, or NULL if it could not allocate memory.
20:
21: ***** Example *****
22:
23: This example attempts to ccaalllloocc a small portion of memory; it
24: then reallocates it to demonstrate rreeaalllloocc.
25:
26:
27: #include <stdio.h>
28:
29: main()
30: {
31: register char *ptr, *ptr2;
32: extern char *calloc(), *realloc();
33: unsigned count, size;
34:
35:
36:
37: count = 4;
38: size = sizeof(char *);
39:
40:
41:
42: if ((ptr = calloc(count, size)) != NULL)
43: printf("%u blocks of size %u calloced\n",
44: count, size);
45: else
46: printf("Insuff. memory for %u blocks of size %u\n",
47: count, size);
48:
49:
50:
51: if ((ptr2 = realloc(ptr,(count*size) + 1)) != NULL)
52: printf("1 block of size %u realloced\n",
53: (count*size)+1);
54: }
55:
56:
57: ***** See Also *****
58:
59: arena, free(), general functions, malloc(), memok(), realloc(),
60: setbuf()
61:
62:
63:
64: COHERENT Lexicon Page 1
65:
66:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.