fork download
  1. #include <stdio.h>
  2.  
  3. void swap_pointer( int *pp[] );
  4.  
  5. int main(void) {
  6. int a=1;
  7. int b=2;
  8. int *p[] = {&a, &b};
  9. int n = sizeof(p)/sizeof(p[0]);
  10. int i;
  11.  
  12. for( i=0; i<n; i++ )
  13. printf( "before: p[%d] %p\n", i, p[i] );
  14. for( i=0; i<n; i++ )
  15. printf( "before: *p[%d] %d\n", i, *p[i] );
  16.  
  17. swap_pointer(p);
  18.  
  19. for( i=0; i<n; i++ )
  20. printf( "after: p[%d] %p\n", i, p[i] );
  21. for( i=0; i<n; i++ )
  22. printf( "after: *p[%d] %d\n", i, *p[i] );
  23.  
  24. return 0;
  25. }
  26.  
  27. void swap_pointer( int *pp[] ){
  28. int *temp = pp[0];
  29. pp[0] = pp[1];
  30. pp[1] = temp;
  31.  
  32.  
  33.  
  34. }
  35.  
  36.  
Success #stdin #stdout 0.01s 5548KB
stdin
Standard input is empty
stdout
before: p[0] 0x7ffead1184b0
before: p[1] 0x7ffead1184b4
before: *p[0] 1
before: *p[1] 2
after: p[0] 0x7ffead1184b4
after: p[1] 0x7ffead1184b0
after: *p[0] 2
after: *p[1] 1