I am reading K&R book. In section 5.3 there is this code:

Code:
    int a[10];
    int *pa;
    pa=a;
I think that should be:
Code:
    int a[10];
    int *pa;
    pa=(int *)a;
Because pa is a pointer to an integer and a is a pointer to an array of integers. Of course the first code works maybe because it happens an implicit cast (conversion). Am I right?

thanks