Быстрый поиск в Google обнаружил эту ссылку с внутренней структурой gnutls_datum_t
:
typedef struct
{
unsigned char *data;
unsigned int size;
} gnutls_datum_t;
Как видите, эта структура имеет два поля, data
и size
. Вот почему, когда они инициализируют key
, они передают две переменные, разделенные запятой в середине.
Первый, устанавливающий значение data
:
(void *)
"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
"\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d"
Второй, устанавливающий значение size
:
20
По поводу вашего другого вопроса:
Подробнее об инициализации переменной в C вы можете узнать, используя список инициализаторов здесь . Существует несколько разных сценариев.