SHOW:
|
|
- or go back to the newest paste.
| 1 | #include<stdlib.h> | |
| 2 | #include<stdio.h> | |
| 3 | ||
| 4 | int n_indirecciones(void* inicial, unsigned int indirecciones); | |
| 5 | ||
| 6 | - | int main (void) {
|
| 6 | + | int main (void) |
| 7 | {
| |
| 8 | int val = 23; | |
| 9 | int* p1 = &val; | |
| 10 | int** p2 = &p1; | |
| 11 | int*** p3 = &p2; | |
| 12 | int retval; | |
| 13 | ||
| 14 | retval = n_indirecciones (p3,3); | |
| 15 | ||
| 16 | printf("%i \n", retval);
| |
| 17 | ||
| 18 | return EXIT_SUCCESS; | |
| 19 | ||
| 20 | } | |
| 21 | - | int n_indirecciones(void* inicial, unsigned int indirecciones) {
|
| 21 | + | |
| 22 | int n_indirecciones(void* inicial, unsigned int indirecciones) | |
| 23 | - | int ** current_pointer = NULL; |
| 23 | + | {
|
| 24 | unsigned int i; | |
| 25 | int ** current_pointer; | |
| 26 | - | result = 0; |
| 26 | + | |
| 27 | ||
| 28 | current_pointer = (int**) &inicial; | |
| 29 | - | for (i=0; i<indirecciones-1; i++) {
|
| 29 | + | for (i=0; i<indirecciones-1; ++i) {
|
| 30 | current_pointer = (int **)*current_pointer; | |
| 31 | } | |
| 32 | ||
| 33 | result = **current_pointer; | |
| 34 | return result; | |
| 35 | } |