-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpointer_to_const.c
More file actions
54 lines (42 loc) · 1.26 KB
/
pointer_to_const.c
File metadata and controls
54 lines (42 loc) · 1.26 KB
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
53
54
#include <stdio.h>
#include <stdint.h>
int main(){
uint8_t *d;
const uint8_t data=8;
uint8_t aux = 30;
//d=&data;//si el puntero apunta a una variable, no se puede apuntar a una constante
aux= 50;
//*d = 3; //si el puntero apunta a un valor constante, no se puede modificar este valor
d=&aux;
//data=30;
printf("valor = %d\n",*d);
//if para cualquier valor diferente de cero es verdadero
if(545)
printf("paso el if");
const int * pp=NULL; // asi se define un puntero de solo lectura
int dato2 = 10;
int dato3 = 2;
const int dato4 = 8;
pp = &dato2;
dato2 = 80;
//*pp = 400; //puntero constante, de solo lectura, no puede modificar el valor apuntado
printf("\npuntero solo lectura dato2: %d",*pp);
pp= &dato3;
dato3 = 1200;
printf("\npuntero solo lectura dato3: %d",*pp);
pp = &dato4; //se puede apuntar a una variable de tipo constante
//dato4 = 40; //la variable no se puede modificar
printf("\npuntero solo lectura dato4 variable de tipo constante: %d",*pp);
return 0;
}
//dato PUNTERO DE SOLO LECTURA
/*
Tambi�n puede haber punteros de solo lectura que hacen referencia a variables modificables.
int x = 7;
const int *p = &x;
printf("%d\n", *p); // V�lido
int y = -1;
p = &y; // V�lido
printf("%d\n", *p);
*p = 2; // Inv�lido
*/