title: incompatible types when assigning to type 'bignum' from type 'int'
body: <p>I have to square to huge numbers(some numbers larger than long long int). I am encountering the problem as <strong>incompatible types when assigning to type 'bignum' from type 'int'</strong> 
  The code is given below with declaration as provided. Please do help me.</p>
  
  <pre><code>typedef struct {
  char digits[MAXDIGITS]; /* represent the number */
  int lastdigit; /* index of high-order digit */
  } bignum;
  
  bignum add_bignum(bignum a, bignum b);
  bignum square(bignum x);
  
  bignum square(bignum x){
  bignum c;
  .
  .
  .
  return c;
  }
  
  
  bignum modified_fibo(int A,int B,int N){
  bignum fibo[N-1];
  int i;
  fibo[0]=initialise(A);
  fibo[1]=initialise(B);
  bignum val;
  for(i=2;i&lt;N;i++){
      val = bignum_square(fibo[i-1]);
      fibo[i] = add_bignum(val,fibo[i-2]);
  }   
  return fibo[N-1];
  }
  </code></pre>
  
  <p>I am encountering error in the line <strong>val = bignum_square(fibo[i-1]);</strong></p>