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