Я хочу понять, как эта функция работает в C. Я считаю, что она используется, чтобы помочь создать заголовок для файла, как указано в его имени. Это часть файла большего размера, который обрабатывает изображения. Эта часть кода, однако, после завершения обработки:
void header( int row, int col, unsigned char head[32] )
{
int *p = (int *)head;
char *ch;
int num = row * col;
/* Choose little-endian or big-endian header depending on the machine. Don't modify this */
/* Little-endian for PC */
*p = 0x956aa659;
*(p + 3) = 0x08000000;
*(p + 5) = 0x01000000;
*(p + 6) = 0x0;
*(p + 7) = 0xf8000000;
ch = (char*)&col;
head[7] = *ch;
ch ++;
head[6] = *ch;
ch ++;
head[5] = *ch;
ch ++;
head[4] = *ch;
ch = (char*)&row;
head[11] = *ch;
ch ++;
head[10] = *ch;
ch ++;
head[9] = *ch;
ch ++;
head[8] = *ch;
ch = (char*)#
head[19] = *ch;
ch ++;
head[18] = *ch;
ch ++;
head[17] = *ch;
ch ++;
head[16] = *ch;
/*
// Big-endian for unix
*p = 0x59a66a95;
*(p + 1) = col;
*(p + 2) = row;
*(p + 3) = 0x8;
*(p + 4) = num;
*(p + 5) = 0x1;
*(p + 6) = 0x0;
*(p + 7) = 0xf8;
*/
}