объявление прототипа функции c

Сегодня я видел прототип функции вида (для полноты добавлено несколько начальных строк)

typedef unsigned char md5_byte_t; /* 8-bit byte */
typedef unsigned int md5_word_t; /* 32-bit word */
/* Define the state of the MD5 Algorithm. */
typedef struct md5_state_s {
    md5_word_t count[2];    /* message length in bits, lsw first */
    md5_word_t abcd[4];     /* digest buffer */
    md5_byte_t buf[64];     /* accumulate block */
} md5_state_t;

void md5_finish(md5_state_t *pms, md5_byte_t digest[16]);

Это было взято из реализации md5 Л. Питера Дойча. Насколько я знаю, писать 16в прототипе нет никакого смысла. Так почему же он включен сюда

Это просто указание программисту, что любой указатель или массив, который вы передаете функции, будет учитывать только первые 16 байтов. Что это вообще здесь означает. вот ссылка на реализацию, размещенную на github

6
задан Aman Deep Gautam 16 July 2012 в 17:48
поделиться