-
Notifications
You must be signed in to change notification settings - Fork 0
/
ponteiro.c
52 lines (46 loc) · 1.09 KB
/
ponteiro.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
#include <stdlib.h>
int *max(int *a, int *b) {
if(*a>*b)
return a;
else
return b;
}
int main(){
int i1=60, i2=98;
int *p = max(&i1, &i2);
*p = 10;
printf("i1=%d i2=%d max=%d", i1, i2, *p);
return 0;
}
/*para usar uma função com um ponteiro, declarar um ponteiro para a função e como parametro usar o
endereço &, ex: tipo *p =função(&a, &b)*/
int soma(int *v, int n) {
int so=0, i=0;
for(i=0;i<n;i++)so+=v[i];
return so;
}
int main(){
int v[100];
int n =100;
printf("i1=%d i2=%d", n, soma(&v[0],n));
return 0;
}
int main(){
int v[]= {1,2,6,8,4};
int *p;
p=&v[0]; // ou p=v
printf("%d", *p);
return 0;
}
/*o ponteiro de um vetor para apontar para o primeiro n° do vetor é só usar o nome do vetor
ex: int *p; p=&v[0] ou p=v; para outro n° usar *p=v[n°] ex *p=v[8] */
int main(){
int i, *p;
i =100;
p = &i;
int **q;
q = &p;
printf("i=%d p=%d q=%d", i, *p, **q);
return 0;}
/*Para apontar um ponteiro para outro ponteiro usar **nome = &ponteiro; **p2 = &p1;*/