Добавление двух элементов структуры вместе

typedef struct Int40 { // a dynamically allocated array to hold a 40 // digit integer, stored in reverse order int *digits; } Int40; 

в основном я реализовал эти функции, а loadCryptoVariable и loadHwConfigVariable возвращают 40-значное значение

 Int40 *p; Int40 *q; Int40 *r; p = loadCryptoVariable("cryptoVarFile"); q = loadHWConfigVariable(0); r = kw26Add( p, q); 

Тем не менее, я не могу понять, как добавить эти два вместе. (Сторона примечания: я знаю, что я не должен malloc, как это, и использовать более определенный способ сделать это, однако, я просто пытаюсь выяснить добавление на данный момент)

 Int40 *kw26Add(Int40 *p, Int40 *q) { Int40 *result; result = malloc(300); result->digits = malloc(300); result->digits = p->digits + q->digits; return result; } 

Я не уверен, что понимаю этот вопрос, но, читая его, вам нужно будет проходить через массив. Например:

 for (int i = 0; i < 40; ++i) result->digits[i] = p->digits[i] + q->digits[i];