View difference between Paste ID: xe6nKJQP and Q1v5mx8Q
SHOW: | | - or go back to the newest paste.
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <malloc.h>
4
5
#define DELTA 33
6
7
int calls, seed=356;   
8
9
int soma_ds(int a){     
10
 int d=DELTA;          
11
 calls++; 				
12
 return a+d+seed;
13
}   					
14
15
int main() {
16-
    printf("calls has the value: %d and is at address 0x%08X\n",calls,&calls);
16+
	printf("calls has the value: %d and is at address 0x%08X\n",calls,&calls);
17-
    printf("seed has the value: %d and is at address 0x%08X\n",seed,&seed);
17+
	printf("seed has the value: %d and is at address 0x%08X\n",seed,&seed);
18
19-
    int num;								
19+
	int num;								
20-
    int *ptr;
20+
	int *ptr;
21-
    int **handle;
21+
	int **handle;
22
23-
    printf("------------------\n");
23+
24-
    printf("num is at address 0x%08X and has the value: %d\n",&num,num);
24+
25-
    printf("ptr is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n ",&ptr,ptr,*ptr);
25+
	printf("ptr is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n ",&ptr,ptr,*ptr);
26-
    printf("------------------\n");
26+
27-
    /*printf("handle is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n ",&handle,handle,*handle);*/
27+
28
29
	num = 14;								
30
	printf("num is at address 0x%08X and has the value: %d\n",&num,num);
31
32
	ptr = (int *)malloc(2 * sizeof(int));	
33
	printf("ptr is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n",&ptr,ptr,*ptr);
34
35
	handle = &ptr;							
36
	/*printf("handle is at address 0x%08X\n",&handle);*/
37
	/*printf("handle is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n ",&handle,handle,*handle);*/
38
39
	*(*handle+0) = num;					
40
	printf("------------------\n");
41
	printf("This is a test to see what's *handle+0: 0x%08X\n",*handle+0);
42
	printf("This is a test to see what's *(*handle+0) value: %d and address 0x%08X\n",*(*handle+0),&*(*handle+0));
43
	printf("------------------\n");
44
	/*printf("handle is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n ",&handle,handle,*handle);*/
45
46
	*(*handle+1) = num+1;					
47
	/*printf("handle is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n ",&handle,handle+1,*handle+1);*/
48-
    printf("------------------\n");
48+
49
	printf("This is a test to see what's *handle+1: 0x%08X\n",*handle+1);
50
	printf("This is a test to see what's *(*handle+1) value: %d and address 0x%08X\n",*(*handle+1),&*(*handle+1));
51
	printf("------------------\n");
52
53
	*ptr = num-2;							
54
	printf("ptr is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n",&ptr,ptr,*ptr);
55
56
	ptr = &num;							
57
	printf("ptr is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n",&ptr,ptr,*ptr);
58
59
	*ptr = soma_ds(num-2);					
60-
    printf("ptr is at address 0x%08X, pointing to 0x%08X, and has the value: %d\n",&ptr,ptr,*ptr);
60+
61-
    printf("The value of num must be the same as pointed by prt %d", num);
61+
	printf("The value of num must be the same as pointed by prt %d", num);
62
63-
    return 0;
63+
	return 0;
64
}