fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. int a = 50;
  5. int *b = &a;
  6. int **c = &b;
  7.  
  8. printf( "a:\n" );
  9. printf( " endereco: %p\n valor: %d\n", &a, a );
  10. printf( "b:\n" );
  11. printf( " endereco: %p\n valor: %p\n"
  12. " valor da variavel apontada: %d\n", &b, b, *b );
  13. printf( "c:\n" );
  14. printf( " endereco: %p\n valor: %p\n"
  15. " valor da variavel apontada: %p\n"
  16. " valor da variavel apontada pelo ponteiro apontado: %d\n\n", &c, c, *c, **c );
  17.  
  18. printf( "**(&c): %p\n", **(&c) );
  19. printf( "*c: %p\n", *c );
  20. printf( "(&c+1): %p\n", (&c + 1) );
  21. // comentei porque dá erro
  22. // printf( "**(&c+1): %d\n", **(&c + 1) );
  23. return 0;
  24. }
  25.  
Success #stdin #stdout 0s 5536KB
stdin
Standard input is empty
stdout
a:
    endereco: 0x7ffffe6acf24
    valor: 50
b:
    endereco: 0x7ffffe6acf28
    valor: 0x7ffffe6acf24
    valor da variavel apontada: 50
c:
    endereco: 0x7ffffe6acf30
    valor: 0x7ffffe6acf28
    valor da variavel apontada: 0x7ffffe6acf24
    valor da variavel apontada pelo ponteiro apontado: 50

**(&c): 0x7ffffe6acf24
*c: 0x7ffffe6acf24
(&c+1): 0x7ffffe6acf38