반응형
/**************************************************************
// 동적 배열은 크기가 얼마인지 모르는 경우에 유용하게 사용된다 !! 
//**************************************************************
// 네이버 카페 --> 메뉴의 항목들을 관리 할경우 !!

// 동적 배열을 이용한 함수들 작성 !! 

// 전체적인 카운트 관리가 필요 !! 
// 1) 동적 배열을 할당하는 함수 !! 
  void main()
  {
	int * buf; 
	InitArray( &buf, 10); 
  }

  void InitArray( int ** buf , int size); 
  {	
	  *buf =  (int*)malloc(sizeof(int)*size); 
  }
// 2) 동적배열에 값을 저장하는 함수 --> 맨뒤에 저장 
  void Add( int * buf,  int data );
  {




  }
  //[10][20][30][40][50][60] 
// 3) 동적배열에 값을 지정한 위치에 저장하는 함수  
  void insert( int index, int data);
 // 1 , 10
//  [1][10][10][10][2][3] 
  void erase( int index); 
//0
//[0][0][0] //배열에 아무값도 남아 있지 않으면 동적 배열을 해제 !!  
*/

#include 
#include 
// 동적배열을 이용한 함수들 작성

// 1) 동적 배열을 할당하는 함수
// 2) 동적배열에 값을 저장하는 함수 -> 맨뒤에 저장(리사이즈)
//   [10][20][30][40][50]
// 3) 동적배열에 값을 지정한 위치에 저장하는 함수
// 4) 삭제 -> 배열에 아무값도 남아있지않으면 배열 해제

int cnt=0;
// 1) 동적 배열을 할당하는 함수
void initArr(int *buf,int size)
{
   if(size == 0)
   {
      puts("'0'으로는 할당할 수 없습니다");
      return;
   }
   buf = (int *)realloc(buf,sizeof(int)*size);
}
// 2) 동적배열에 값을 저장하는 함수 -> 맨뒤에 저장(리사이즈)
void add(int *buf, int data)
{
   if(cnt < _msize(buf)/sizeof(int))
   {
      buf[cnt] = data;
      cnt++;
   }
   else
   {
      buf = (int*)realloc(buf,_msize(buf)+sizeof(int)*100);
      //buf = (int*)realloc(buf,(cnt+1)*sizeof(int));
      buf[cnt] = data;
      cnt++;
   }
}
// 3) 동적배열에 값을 지정한 위치에 저장하는 함수
void insert(int *buf, int index, int data)
{
   int *temp = (int*)malloc(sizeof(int)*(cnt-index+1));
   for(int i=0; i 배열에 아무값도 남아있지않으면 배열 해제
void erase(int index)
{
}

void main()
{
   int *buf=(int*)malloc(sizeof(int));
   initArr(buf,4);
   printf("buf : %d\n", _msize(buf));
   
   add(buf,1);
   add(buf,2);
   add(buf,3);
   add(buf,4);
   add(buf,5);
   add(buf,6);
   //insert(buf,0,10);
   for(int i=0; i<10; i++)
      printf("buf[%d] : %d\n",i,buf[i]);

   

}

+ Recent posts