typedef struct Int40
{
// a dynamically allocated array to hold a 40
// digit integer, stored in reverse order
int *digits;
} Int40;
在main中我实现了这些函数,而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;
}
答案 0 :(得分:2)
我不确定我是否理解这个问题,但在阅读时,您需要遍历数组。例如:
for (int i = 0; i < 40; ++i)
result->digits[i] = p->digits[i] + q->digits[i];