Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C] Gli array

  1. #1

    [C] Gli array

    Ciao a tutti. Ho iniziato da poco a studiare il C. Sto avendo alcune difficolta' nel capire gli array. Non nel concetto,ma in particolare nella definizione. Mi spiego meglio: voglio fare un semplice programma che mette in un arry una stringa di testo inserita dall'utente. Nel definire l'array pero' non so quanto sara' lunga la stringa inserita dall'utente, e quindi gli daro' semplicemente:
    char arr[];
    ma quuesto mi da errore.
    Come posso fare per definire un array che conterra' una stringa di cui non so a priori la lunghezza?

    grazie e ciao

  2. #2
    Ciao jollyr0ger! L'errore stà nel pensare di poter dichiarare un array runtime. Lo spazio che occuperà l'array in memoria deve essere noto A PRIORI. In pratica deve essere deciso dal programmatore in fase di progettazione.

    P.s. Se ti serve altra memoria, puoi durante l'esecuzione allocarne una certa quantità usando funzioni apposite.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Dato che hai appena cominciato lo studio del C, è meglio non toccare l'argomento puntatori (più avanti li incontrerai e con tutti i loro problemi).

    Diciamo, innanzitutto, che in C non si possono avere array non dimensionati (discorso a parte per gli argomenti di funzioni, ma non tocchiamo nemmeno questo): questo significa che gli array devono avere una dimensione prefissata.

    L'unico modo che hai, per ora, per far leggere una stringa (array di caratteri) ad un utente, senza sapere quanto sarà lunga, è quello di "prevedere" una lunghezza massima: se l'utente inserirà più caratteri di quelli consentiti, non puoi farci niente.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.