이번에 동적할당을 공부하다가
주소록 프로그램을 만들고 있는데
char* name; 변수를 만들고
name=(char*)malloc(sizeof(char)*7); 으로 동적할당을 하고 < 한글이 한글자당 2바이트고 한글 3글자를 입력하면 총6바이트에 +1 을해서 7바이트로..
printf("이름 : ");
scanf("%s",name_address);
free(name);
하는 간단한 코딩을 해봤는대요
주소록인 만큼 이름을 추가적으로 계속해서 추가 할수있도록 기존의 입력된 이름은 유지한체로 동적할당의 크기를 조정 하고 싶은대요
그게 가능 할까요??
예를들어 name=(char*)malloc(sizeof(char)*7);를 하고 나서 홍길동이라고 입력을 하고 홍길동을 유지한체 name=(char*)malloc(sizeof(char)*14);
로 바꿔서 홍길순을 입력하는.. 이런것이 가능 할까요??
초기에 잡은 name=(char*)malloc(sizeof(char)*7); 에서 코딩을 통해서 7 -> 14 ->21 순서로 바꾸는 방법을 이용하면 이전에 입력한 데이터는 지워지 더라구요... 방법이 없는 것일까요?