Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    101

    puntatori e array..argh!!


    salve a tutti, come molti ,credo, hanno incontrato difficoltà a digerire l'argomento, anch'io ho i miei limiti..dunque aiutatemi a trovare l'inghippo del mio ragionamento:
    ..int i=5 assegna alla variabile il valore 5 nella memoria STATICA
    ..int*i=new int(5) " " " " " " DINAMICA
    ..OK??
    ..int i[10]={0,1,2,..} crea un array e mette la var. nello STACK..
    e per metterla nell'HEAP..??
    Nella guioda di HTML.IT c'è una faq che parla di allocare e deallocare un array dinamico..è la stessa cosa vero??
    beh..se no ,e se avete voglia..spiegatemi anche questo allora:

    Clienti* cl = new Clienti[50];
    // .....
    delete [] cl;

    grazie, Zorz

    P.S. intanto che ci siamo..:quipy: ..come si crea un array bidimensionale A[i][j]..??ciao..

  2. #2
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486

    Re: puntatori e array..argh!!

    Originariamente inviato da zorz

    ..int i[10]={0,1,2,..} crea un array e mette la var. nello STACK..
    e per metterla nell'HEAP..??
    Le variabili locali e le chiamate a funzione vanno nello stack, le variabili globali nell'heap.

    Nella guioda di HTML.IT c'è una faq che parla di allocare e deallocare un array dinamico..è la stessa cosa vero??
    beh..se no ,e se avete voglia..spiegatemi anche questo allora:

    Clienti* cl = new Clienti[50];
    // .....
    delete [] cl;
    Qui non si fa altro che allocare un array di 50 istanze della classe Clienti.
    Con delete si dealloca. Tutto qui.
    ChReAn
    -------------------

    Slackware 9.1 powered

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    101

    ..e se io voglio allocare un array nella memoria dinamica??
    ..int i[2]={100,200} dova alloca l'array??
    ..Clienti* cl = new Clienti[50]..cosa significa allocare un array in una classe??
    ..come si crea un array bidimensionale A[i][j]??
    grazie zorz

  4. #4
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Originariamente inviato da zorz

    ..e se io voglio allocare un array nella memoria dinamica??
    Che cosa intendi per memoria dinamica? Intendi lo stack?
    O intendi allocare un array DINAMICAMENTE?
    Se intendi questo, fai cosi':

    int *i = new int[50];

    ..int i[2]={100,200} dova alloca l'array??
    Dipende se e' una variabile locale ho globale, ti ho detto.

    ..Clienti* cl = new Clienti[50]..cosa significa allocare un array in una classe??
    Non e' un array IN UNA CLASSE! Ho detto Array DI ISTANZE DI UNA CLASSE. Invece che avere un array di int, hai un array di Clienti.

    ..come si crea un array bidimensionale A[i][j]??
    Esattamente come un array monodimensionale:

    int a = new int[3][4];

    grazie zorz
    Prego, ma la prossima volta leggi meglio quello che ti rispondo ok? :tongue:
    ChReAn
    -------------------

    Slackware 9.1 powered

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    101
    scusa ..e grazie..

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    101

    ..e comunque..scusa per la mia ignoranza nell'argomento ma dovresti essere più preciso con i neofiti..lo STACK è la memoria STATICA, e l'HEAP è quella DINAMICA..e non viceversa..:quipy:Zorz

  7. #7
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Vabbe'... Quanti sofismi per un po' di memoria... :tongue:
    ChReAn
    -------------------

    Slackware 9.1 powered

  8. #8
    zorz:

    Mah.. io non andrei tanto per il sottile e piuttosto che criticare ringrazierei ChReAn che ti ha aiutato a dovere.

    Inoltre ti informo che lo stack e` memoria dinamica. Cerca in qualche libro o documentazione sulle strutture dati e saprai il motivo...

    Ciao .. e studia! :tongue:

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    101
    ..non c'è dubbio che ringrazio ChReAn per la sua disponibilità e per le informazioni che mi ha dato..e stò studiando..ma non è facile studiare un argomento se da una parte trovi una cosa e dall'altra l'opposto..nel caso in questione bisogna decidersi..se lo STACK è la memoria dinamica mi spieghi perchè la guida di HTML.IT dice il contrario (tanto per darti un link, ma se prosegui nella guida almeno lei è coerente..: programmazione.html.it/c/c_15.htm ), e anche il testo che ho appena acquistato ,'C++ corso di programmazione',dice lo stesso.. se guardi l'indice ,la parola 'HEAP' ti rimanda all'allocazione di memoria dinamica tramite puntatori..forse..non ho tutti i torti a lamentarmi..no?? ciao zorz

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867

    ...scusate...

    scusate se mi intrometto,
    ma mi piace dire la mia , sono d'accordo col dire:

    stack --> statica
    heap --> dinamica

    o comunque a me i prof hanno sempre detto così,

    cia cia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.