C/C++ 언어 realloc(), calloc(),malloc()을 이용한 예제 프로그램


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* realloc(), calloc(),malloc()을 이용한 예제 프로그램 */
#include <stdlib.h>
#include <stdio.h>
 
char *realloc(), *malloc(), *calloc() ;
int *p, *q, *r ;
 
void main(void) {
  int i, j ;
  printf("&p=%u, &r=%u, &q=%u\n",p,r,q) ;
 
  i = sizeof(int);
  p = r = (int *)calloc(10,i) ;
 
  for (j = 0; j < 10; j++) {
    p[j] = j;
  }
 
  q = (int*)malloc(i);  /* ① */
  printf("&p=%d, &r=%d, &q=%d\n",&p,&r,&q);
  printf("p=%d, r=%d, q=%d\n",p,r,q) ;
 
  p = (int*)realloc(p,i*15) ;  /* ② */ 
  printf("new value of p=%d, r=%d, q=%d\n",p,r,q);
 
  printf("p[0..14] = ");
  for (j = 0; j < 15; j++)
    printf("%d,",p[j]);
  putchar('\n');
 
  printf("r[0..9] = ");
  for (j = 0; j < 10; j++)
    printf("%d,",r[j]);
  putchar('\n');
 
  q = (int*)calloc(5,i);  /* ③ */ 
  printf("new value of p=%d, q=%d\n",p,q) ;
  for (j = 0; j < 5; j++)  {
    printf("q[%d]=%d",j,p[j]);
    putchar('\n');
  }
}
 
cs


C/C++ 언어 realloc(), calloc(),malloc()을 이용한 예제 프로그램


+ Recent posts