Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    16

    [c] domanda sull' ampiezza degli array

    salve a tutti, volevo fare una domanda che penso sia abbastanza scontata, ma voglio l opinione di chi ha molta esperienza come programmatore...

    allora la domanda in questione è la seguente: quando si definisce un array di qualsiasi tipo lo si fa in qst modo tipo_variabile nome [dimensione] dove dimensione è un numero, cioè una costante, ora io volevo sapere se è possibile sostituire la "dimensione" con una variabile, ad esempio:

    devo creare una funzione che riceva in argomento un int, e all'interno della mia funzione ho un array che deve assumere le dimensioni di quell'int passato come argomento... è una cosa fattibile, o è un errore madornale? e se è fattibile devo avere delle accortezze particolari nel momento in cui faccio questa operazione??

    grazie in anticipo per le vostre delucidazioni!

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    E' possibile usando l'allocazione dinamica con malloc o calloc.
    http://www.cplusplus.com/reference/clibrary/cstdlib/
    sotto la voce Dynamic memory management:
    Poi devi liberare la memoria con free()

    A grandi linee lo schema C puro è questo:
    codice:
        char buffer = malloc(16*sizeof(char));
        ...
        buffer[indice] = un_char;
        ...
        free(buffer);
    Dove 16 può essere il numero che acquisici da input.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    16
    grazie, molto utile la spiegazione, e anche il link che hai messo!!

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.