포인터 메모리 할당

3174 단어 C 언어포인터
1. 1차원 포인터 메모리 분배.
//      
int *p = NULL; //  int    
int n = 7; //    
p = (int *)malloc(sizeof(int)*n);
int i;
for(i=0; i<n; i++)
    p[i] = 0;
free(p); //  

2. 포인터 그룹 메모리 분배
int n = 6;
int *p[n]; //  int         
//p[i]   ,            ,          ,       
int i;
for(i=0; i<n; i++)
    p[i] = (int *)malloc(sizeof(int)*(i+1));

//  ,   ,   
for(i=0; i<n; i++)
    free(p[i]);

3. 2차원 지침.
int **p = NULL;
// 2  ,       ,             
int n = 4;
p = (int **)malloc(sizeof(int *)*n); //            
int i;
for(i=0; i<n; i++) //    ,         
    p[i] = (int *)malloc(sizeof(int)*(i+1));
//m*n  ,        
p[0] = (int *)malloc(sizeof(int)*m*n);
for(i=1; i<n; i++)
    p[i] = p[i-1] + m;

//   ,      ,     
for(i=0; i<n; i++) //    ,         
    free(p[i]);
free(p);

알림:malloc,free 함수를 사용할 때 #include .

좋은 웹페이지 즐겨찾기