//***********************************************************************
//동적 배열 : 프로그램 실행중에 새롭게 생성되거나 크기가 변할수 있는 배열
//***********************************************************************
// malloc :  동적 메모리 생성.
// free :  동적 메모리 해제 

//***********************************************************************
//realloc : 재할당
//calloc : 할당 초기화

//***********************************************************************
#include <stdio.h>
#include <malloc.h>

void main()
{
        int i;
 
 //정적 배열
        int p[5];
 //동적 배열
 //    int *p1=(int*)malloc(sizeof(int)*5);
        int *p1=(int*)calloc(5, 4);

 //초기화 
 /*
        for(i=0;i<5;i++)
       {
               p[i] = 0;
               p1[i] = 0;
        }*/
 
        for(i=0;i<5;i++)
       {
               printf("p[%d] = %d ", i, p[i]);
               printf("p[%d] = %d", i, p1[i]);
               puts("");
        }
 //메모리 2배 증가!!
        p1=(int*)realloc(p1,_msize(p1)*2);
        for(i=0;i<10;i++)
       {
                printf("p[%d] = %d ", i, p[i]);
//  printf("p[%d] = %d", i, p1[i]);
                puts("");
        }
 
        free(p1);
}

 

by 훈강

'프로그래밍 > Language C' 카테고리의 다른 글

[C언어] 포인터  (0) 2011.11.14
[C언어] 문자열 함수  (0) 2011.11.14
[C언어] 문자열  (0) 2011.11.14
[C언어] 다차원 배열  (0) 2011.11.14
[C언어] 배열의 초기화  (0) 2011.11.14