pabloliva87

Ej1C

Feb 1st, 2012
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.69 KB | None | 0 0
  1. /** To make this code work in 64-bit architectures, compile with -m32 */
  2.  
  3. #include<stdlib.h>
  4. #include<stdio.h>
  5.  
  6. int n_indirecciones(void* inicial, unsigned int indirecciones);
  7.  
  8. int main (void) {
  9.     int val = 23;
  10.     int* p1 = &val;
  11.     int** p2 = &p1;
  12.     int*** p3 = &p2;
  13.     int retval;
  14.    
  15.     retval = n_indirecciones (p3,3);
  16.    
  17.     printf("%i \n", retval);
  18.    
  19.     return EXIT_SUCCESS;
  20.    
  21. }
  22.  
  23. int n_indirecciones(void* inicial, unsigned int indirecciones) {
  24.     unsigned int i;
  25.     int * current_pointer = NULL;
  26.     int result;
  27.  
  28.     result = 0;
  29.  
  30.     current_pointer = inicial;
  31.     for (i=0; i<indirecciones-1; i++) {
  32.         current_pointer = (int *)*current_pointer;
  33.     }
  34.  
  35.     result = *current_pointer;
  36.     return result;
  37. }
Add Comment
Please, Sign In to add comment