C language two-dimensional pointer

What

doesn"t understand is that since arr+1 is already the address of the second line, * the address should be a value, why is it still an address?

-sharpinclude <stdio.h>

void main( ) {  
    int arr[3][4] = {
           {1,2,3,4},
           {5,6,7,8},
           {9,10,11,12}
    };
    printf("%p---%p",arr+1,*(arr+1));
}  
C
Jun.08,2021

you have written% p yourself, how can it output the value?

Menu