MY IT
calloc으로 2차원 배열 만들기
메롱씨티 배드맨
2006. 4. 11. 12:27
#include <stdio.h>
#include <malloc.h>
int main(void)
{
unsigned char *s_p;
int s_count, s_index;
/* 이것은 unsigned char s_p[10000][1234]; 로 생각하면..*/
s_p = (unsigned char *)calloc(10000, 1234);
for(s_count = 0;s_count < 10000;s_count++)
{
for(s_index = 0;s_index < 1234;s_index++)
{
(void)fprintf(stdout, "set %d, %d (*(%p))\n", s_count, s_index, &s_p[(s_count * 1234) + s_index]);
s_p[(s_count * 1234) + s_index] = 0;
}
}
free((void *)s_p);
return(0);
}
........................................................................................................
배열 메모리를 확장하고 싶을땐..
s_p = realloc(s_p, sizeof(s_p) + (1234 * x)));
로 추가 할 수 있다.