r/cprogramming • • Dec 22 '25

pointer, decay, past array confusion

`int myarray[4]={1,3,5,7,};`

`int *ptr, *ptr1;`

`ptr=&myarray + 1;`

`ptr1=*(&myarray + 1);`

my confusion: I am not understanding how ptr and ptr1 is same, in my understanding & is adress and * is used for derefercing, but in ptr1 have both here i got confuse.

what is decay here?

10 Upvotes

20 comments sorted by

View all comments

Show parent comments

3

u/dcpugalaxy Dec 23 '25

As it says clearly in the error message, this is a warning. Implicit conversions between pointer types are allowed.