C로 짜본 vector
그닥 쓸일이 없는데 array를 동적으로 키울때 필요해서 함 짜봤습니다.
vectore는 C++ 라이브러리에 있을텐데. 모.. 그냥 C로 짜봤어유.
2의 배수로 size가 커지는거라.. 나름 쓸만할꺼에요. 참고용으로..
#include <stdio.h>
#include <malloc.h>
char * vec;
int vec_s = 1;
int vec_c = 0;
int vector(char a)
{
if(vec_s==vec_c)
{
vec_s<<1;
char * temp = (char*)calloc(0, sizeof(char)*vec_s);
for(int i =0; i < vec_c; i++)
temp[i]=vec[i];
free(vec);
vec = temp;
}
vec[vec_c]= a;
// printf("%c, %d \n",vec[vec_c], vec_c);
vec_c++;
}
void main(void)
{
vec = (char*)calloc(0, sizeof(char));
for(int i =0; i < 24; i++)
vector(('a'+i));
printf("%s",vec);
free(vec);
}
\