Posiciones contiguas de array que en la practica no parecen serlo
Publicado por chipo (2 intervenciones) el 29/03/2015 05:39:03
Hola. Leyendo el capítulo de punteros del libro de C de Ritchie me surgió una duda y fue querer "comprobar" que los vectores se crean en espacios contiguos de memoria. La prueba que hice es:
Resultados:
Dir de variable "x": 140733929041208
Dir de variable "y": 140733929041212
Dir de vector[0]: 140733929041184
Dir de vector[1]: 140733929041192
Dir de vector2[0]: 140733929041200
Dir de vector2[1]: 140733929041204
Siendo que esperaba algo así como:
Dir de variable "x": 140733929041208
Dir de variable "y": 140733929041212
Dir de vector[0]: 140733929041184
Dir de vector[1]: 140733929041185
Dir de vector2[0]: 140733929041200
Dir de vector2[1]: 140733929041201
Ojalá alguien pueda darme una mano.
Saludos!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main( int argc, char *argv[] ){
int x = 1, y = 2;
printf("Dir de variable \"x\": %lu\n", &x);
printf("Dir de variable \"y\": %lu\n", &y);
int *vector[2];
vector[0] = &x;
vector[1] = &y;
printf("Dir de vector[0]: %lu\n", &vector[0]);
printf("Dir de vector[1]: %lu\n", &vector[1]);
int vector2[2];
vector2[0]=4;
vector2[1]=5;
printf("Dir de vector2[0]: %lu\n", &vector2[0]);
printf("Dir de vector2[1]: %lu\n", &vector2[1]);
return 0;
}
Resultados:
Dir de variable "x": 140733929041208
Dir de variable "y": 140733929041212
Dir de vector[0]: 140733929041184
Dir de vector[1]: 140733929041192
Dir de vector2[0]: 140733929041200
Dir de vector2[1]: 140733929041204
Siendo que esperaba algo así como:
Dir de variable "x": 140733929041208
Dir de variable "y": 140733929041212
Dir de vector[0]: 140733929041184
Dir de vector[1]: 140733929041185
Dir de vector2[0]: 140733929041200
Dir de vector2[1]: 140733929041201
Ojalá alguien pueda darme una mano.
Saludos!
Valora esta pregunta


0