pointer to pointer , confusion

below code -> ent is a class , modulebase is of type uintptr_t.
i understand whats happening here

 
  ent* localplayer = (ent*)*(uintptr_t*)(modulebase+0x676907)


but the same code can written as

ent* localplayer = *(ent**)(modulebase+0x676907)

can someone help me understand whats happening here , i understand how ** pointer to pointer works , but really confused here
Last edited on
In both cases, you're:

- generating a temporary pointer of type uintptr_t, with the same value in each case

- casting it to a pointer-to-a-pointer

- dereferencing it to get another pointer, with the same value in each case (because all pointers are just integers)

- ending up with an ent*, with the same value in each case
Topic archived. No new replies allowed.