>>174
Cの範囲だろ。

>>172
gccでやってみたけど特に問題は起きなかったよ。
typedef struct 
{ 
  double *base; 
}matrix; 

matrix A; 

double a[4][4]={ 
  {0.0,0.0,1.0,0.0}, 
  {0.0,0.0,1.0,0.0}, 
  {0.0,0.0,1.0,0.0}, 
  {0.0,0.0,1.0,0.0}, 
}; 

int main(int argc, char * argv[])
{
  A.base = (double *)a; /* ここ */
  return 0;
}

本当に「ここ」の部分でエラー起きてる? どうやってそこだと特定したんだろう。