Let's say you have an int arr[] with 10 elements, and an int \* ptr. 
I thought that the following lines would cause an error but instead it prints 0 as the value stored in ptr. How did it calculate it as 0?

```
ptr = arr;//ptr currently points to the first element in arr
ptr = (arr + 10);//points to what would be the llth element in memory for arr
printf("ptr %p\n", ptr);//this displays where the 11th element would be in memory
printf("*ptr %i\n", *ptr);//why would this print 0?

```