Mi sono divertito a creare un programma che dato un Vettore A lui crea un Vettore B che si salva gli indirizzi di memoria dei elementi di A
Scopo del Programma :
Leggi elementi e Carica il Vettore A:
a[0] = 3
a[1] = 4
a[2] = 5
a[3] = 6
---------- Scrivi celle di memoria del Vettore A---------------
Puntatore a[0] = 1638204
Puntatore a[1] = 1638208
Puntatore a[2] = 1638212
Puntatore a[3] = 1638216
-------- Copia Celle di Memoria del Vettore A nel Vettore B -------
b[0] = 1638204
b[1] = 1638208
b[2] = 1638212
b[3] = 1638216
/*
Programma che caricato un Vettore A con N elementi, crea un Vettore B che contine come valori l'indirizzo di cella di memoria dei elementi del Vettore A
Argomenti da ricordare :
printf e scanf
%d ==> Dati di tipo Intero (int)
%lf ==> Dati di tipo Dobble (Dooble) Numero Reale Lungo con la virgola
%l ==> Dati di tipo Long (long) Intero Lungo
%f ==> Dati di tipo Float (float) Numero Reale Corto con la virgola
%c ==> Dati di tipo Carattere (char)
%s ==> Dati di tipo Stringa
*/
#include <stdio.h>
#define MAX 5
#define TRUE 1
#define FALSE 0
void Leggi (int a[MAX] , int n );
void Scrivi(int a[MAX], int n);
void Scrivi_Puntatori(int a[MAX], int n);
void Carica_Array_Puntatore(int a[], int n);
int main(int argc, char *argv[]){
int vettore [MAX];
printf("Leggi un Vettore e Crea un'altro vettore che contine i valori dei Memoria : \n\n ");
Leggi (vettore, 4);
//Scrivi (vettore, 4);
printf("\n ---------- Scrivi celle di memoria del Vettore A--------------- \n");
Scrivi_Puntatori (vettore,4);
Carica_Array_Puntatore (vettore,4);
return 0;
}
void Leggi(int a[MAX], int n){
int i ;
for(i = 0 ; i < n; i++){ printf("a[%d] = ",i); scanf("%d",&a[i]);}
}
void Scrivi(int a[MAX], int n){
int i ;
for(i = 0 ; i < n; i++){ printf("a[%d] = %d \n",i,a[i]);}
}
void Scrivi_Puntatori(int a[MAX], int n){
int *puntatore, i;
for(i = 0 ; i < n; i++){
puntatore = &a[i];
printf("Puntatore a[%d] = %d \n",i, puntatore);
}
}
void Carica_Array_Puntatore(int a[], int n){
int *p, i , *b[n];
for(i = 0 ; i < n; i++){
p = &a[i];
b[i] = p;
}
printf("\n -------- Copia Celle di Memoria del Vettore A nel Vettore B ------- \n");
for(i = 0 ; i < n; i++){
printf("b[%d] = %d \n",i,b[i]);
}
}