新手求教 关于数组间赋值的有关问题

新手求教 关于数组间赋值的问题
int t[3]={1,1,2};
int ab[3]=[0];

我想把 t这个数组 赋给 ab    为什么不能  ab=t  而非要  用for循环赋值 或者用memcpy  呢
既然 数组名 代表的 是 元素首地址  那 我用一个 数组1 =数组2  那这个数组1 不就应该和 数组2一样了???

新手 求解  为什么 C语言中 数组不能  如  ab=t  这样直接赋值 呢   求说明原理
谢谢了    

------解决方案--------------------
你定义了一数组之后,数组的首地址是不能变得。也就是说在内存中的地址是不能改变了。
int a[10]
int b[10]

如果 a = b;
那么数组a的地址就变了。
   规矩就是这样..只能for循环或者内存拷贝函数