这是什么意思:int (*b)[100]以及为了产生这个结果,这段代码的澄清是什么?
#include <iostream>
void foo(int  a[100])
{
    a [1]= 30 ;
    std::cout<<a[1]<< std::endl;
}
void boo(int a[100])
{ 
    std::cout<<a[1]<< std::endl; 
}
int main()
{
    int (*b)[100] = (int (*) [100]) malloc(100 * sizeof(int));
    *b[1] = 20;
    std::cout<< *b[1] << "\t" << b[1] << std::endl;
    foo(*b);
    boo(*b);
    std::cout<< *b[1] << "\t" << b[1] << std::endl;
}
以上代码输出:
20  0x44ba430
30
30
20  0x44ba430
Lun*_*din 13
int (*b)[100] 是一个数组指针,一个可以指向100 int数组的指针.*b[1] = 20;是一个严重的运算符优先级错误,读取超出数组的范围.它应该是(*b)[1].