/**************************************************************************** PROGRAMA: punt1 AUTOR: Kiko FECHA: 07.10.94 FINALIDAD: Ilustrar el uso de identificadores de vector como punteros. HISTORIA: BIBLIOGRAFIA: MODO DE UTILIZACION: - ****************************************************************************/ #include #define size 5 void main(void){ int *p; int v[size]; int i; p = v; for (i = 0; i < size; i++) *(v + i) = i; /* N¢tese que se pueden hacer cosas como ‚sta: */ printf("Componente v[-1]: %d\n", *(v - 1)); /* Naturalmente el valor que se escribe es "basura" */ for (i = 0; i < size; i++) printf("Componente %d: %d\n", i, v[i]); printf("\n"); for (i = 0; i < size; i++) printf("Componente %d: %d\n", i, *(p + i)); printf("\n"); /* Cambiamos el valor al que apunta p: */ p = p + 2; for (i = 0; i < size; i++) printf("Componente %d: %d\n", i, *(p + i)); printf("\n"); /* Las dos £ltimas componentes que se escriben son "basura" */ /* Compru‚bese que no se puede cambiar la direcci¢n de v: v se considera un puntero a otros efectos, pero no se puede cambiar la direcci¢n a la que apunta: esa direcci¢n es asignada por el compilador. Tratar de compilar la linea siguiente sin comentarios: */ /* v = v + 2; */ }