539 名前:login:Penguin mailto:sage [2014/07/09(水) 23:21:17.86 ID:pM8TBiOn] ポインターに詳しいリーダーに質問です。 知人が書いた関数のソースなのですが、どう動いているのか分かりません。 御教授願います。 #include <stdlib.h> void *genMatrixList(unsigned int list_length, unsigned int line_size, unsigned int column_size, size_t element_size){ char *linear; void **line_pointer_buf, **matrix_pointer_buf; unsigned long counter; linear = (char*)malloc(element_size * column_size * line_size * list_length); line_pointer_buf = (void**)malloc(sizeof(void*) * line_size * list_length); matrix_pointer_buf = (void**)malloc(sizeof(void*) * list_length); counter = 0; while(counter < line_size * list_length){ line_pointer_buf[counter] = (void*)&linear[element_size * column_size * counter]; counter ++; } counter = 0; while(counter < list_length){ matrix_pointer_buf[counter] = (void*)&line_pointer_buf[line_size * counter]; counter ++; } return (void*)matrix_pointer_buf; }