I was trying to learn pointer to an array , but I'm not able to understand as to why *ptr and ptr print the same value
/*Here is the source code.*/
#include<stdio.h> 
int main() 
{ 
    int arr[] = { 3, 5, 6, 7, 9 }; 
    int *p = arr; 
    int (*ptr)[5] = &arr; 
    printf("p = %u, ptr = %u\n", p, ptr); 
    printf("*p = %d, *ptr = %d\n", *p, *ptr);  
    return 0; 
} 

 
    