Multi Forum Altomesima - array dinamici
Multi Forum Altomesima
Multi Forum Altomesima
Home | Profilo | Discussioni attive | Utenti | Cerca | FAQ
Nome Utente:
Password:
Salva Password
Dimenticato la tua Password?

 Tutti i forum
 Linguaggi di programmazione
 Linguaggio C
 array dinamici
 Nuova Discussione  Rispondi
 Versione Stampabile
Autore Discussione Precedente Discussione Discussione Successiva  

frea
Junior Member

22 Messaggi

Inviato il il 01/05/2004 :  11:52:31  Guarda il profilo di  Rispondi Citando
Salve,
c'č qualcuno che sa come come creare (in c/c+) array dinamici di puntatori costanti?

mimc
Forum Admin

Italy
458 Messaggi

Inviato il 01/05/2004 :  20:00:46  Guarda il profilo di  Visita il Sito di mimc  Rispondi Citando
Ciao
Un esempio di utilizzazione degli array dinamici nel linguaggio C la puoi vedere nel seguente programma :

#include"stdio.h"
#include"stdlib.h" /*contiene la malloc()*/

/*programma che accetta n interi,con n e gli interi letti da input,
li registra su un array dinamico e li stampa*/
int leggi_n();
int *leggi_array(int n);
void stampa_array(int *punt, int n);

int main()
{
int *punt_a;
int num_el;
num_el=leggi_n();
punt_a=leggi_array(num_el);
stampa_array(punt_a,num_el);
free(punt_a);
}


int leggi_n()
{
int n;
printf("\ninserite il numero di elementi dell'array\n");
scanf("%d",&n);
return n;
}

int *leggi_array(int n)
{
int i=0;
int *pArray;
int elemento;

printf("\ninserite gli elementi interi dell'array\n");
pArray=malloc(n*sizeof(int));

while(i{
scanf("%d",&elemento);
*(pArray+i)=elemento;
i++;
}
return pArray;
}

void stampa_array(int *punt, int n)
{
int i=0;
printf("\nEcco i %d elementi interi che abbiamo inserito nell'array dinamico\n",n);
for(i=0;iprintf("%d) %d ", i+1, *(punt+i));

}

Maggiori informazioni li puoi reperire al link:

http://digilander.libero.it/capano/lezioni/lezione_18.htm


Torna all'inizio della Pagina

frea
Junior Member

22 Messaggi

Inviato il 01/05/2004 :  23:17:07  Guarda il profilo di  Rispondi Citando
Grazie mille, ma a me serve una cosa un po' diversa. Mi spiego meglio e per farlo vi mando alcuni esempi:

int *vett[3]; // array statico di puntatori
int a = 1, b = 2, c = 3;
vett[0] = &a;
vett[1] = &b;
vett[2] = &c;
cout <<*vett[0]<<" "<<*vett[1]<<" "<<*vett[2]<
vett[1] = &a;
cout <<*vett[0]<<" "<<*vett[1]<<" "<<*vett[2]<

int a2 = 11, b2 = 21, c2 = 31;
int * const vett2[3] = {&a2, &b2, &c2}; // array statico di puntatori costanti
cout <<*vett2[0]<<" "<<*vett2[1]<<" "<<*vett2[2]<
// vett2[1] = &a2; non č consentito!!!

const int m = 10;
int *pm = new int[m]; // array dinamico
pm[3] = 124;
cout <
delete [] pm;

const int mm = 10;
int **ppunt = new int*[mm]; // array dinamico di puntatori
int elemento = 134;
ppunt[3] = &elemento;
cout <<*ppunt[3]<
cout <<&elemento<<" = "<
delete [] ppunt;

const int mmm = 10;
int const **ppunt2 = new const int*[mmm]; // array dinamico di puntatori a variabili costanti
int elemento2 = 154;
ppunt2[3] = &elemento2;
cout <<*ppunt2[3]<
int elemento3 = 155;
ppunt2[3] = &elemento3;
cout <<*ppunt2[3]<
cout <<&elemento2<<" = "<
// *ppunt2[3] = 1234; // non č consentito
delete [] ppunt2;

Questi sono tutti esempietti funzionanti che sono riuscito a fare. Ma ciō che mi serve č un array dinamico di puntatori costanti, ossia l'analogo dinamico del secondo esempio. Purtroppo per il momento sono riuscito solo a creare array dinamici di puntatori a variabili costanti (ultimo esempio).
Torna all'inizio della Pagina

mimc
Forum Admin

Italy
458 Messaggi

Inviato il 04/05/2004 :  15:22:44  Guarda il profilo di  Visita il Sito di mimc  Rispondi Citando
vector'<'const void*'>' ? (senza apici alle parentesi angolari)

giudica tu
i puntatori a un T costante (const T*), mentre se intendi
un puntatore costante (T *const).
Torna all'inizio della Pagina

frea
Junior Member

22 Messaggi

Inviato il 04/05/2004 :  18:23:39  Guarda il profilo di  Rispondi Citando
Grazie mille,
ciao!
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile
Vai a:
Vai all'inizio della pagina Multi Forum Altomesima - © 2002 -2008 Altomesima Online
Questa pagina e' stata aperta in 0,04 secondi. Superdeejay.net | Snitz Forums 2000