Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    [c] settare i valori di default per un array statico

    ragazzi ho un array di short 2d 5x5

    c'è un modo per settare a 0 tutti i campi dell'array?
    oppure devo fare il doppio for per settarli a mano?

    thx

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Usa un memcpy ... è piu' semplice e veloce ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3



    short array[5][5];

    memcpy(array,'0',sizeof(short)*5*5);

    ?



  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Scusa ... intendevo la memset ... da usare

    memset(array, 0, sizeof(short)*5*5);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    hai sbagliato oregon!!!!!





  6. #6
    O più semplicemente:
    codice:
    short array[5][5]={0};
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Originariamente inviato da MItaly
    O più semplicemente:
    codice:
    short array[5][5]={0};
    quello setta tutto a zero? O.O O.O



    non dovrebbe settare solo il primo elemento a 0?


  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da xnavigator
    non dovrebbe settare solo il primo elemento a 0?
    No, non solo il primo ... setta tutto a zero ... vedi le parentesi { } ...

    E' corretto usarlo, anche se cosi' e' il compilatore a generare il codice per chiamare la memset e solamente per l'inizializzazione.

    Se chiami la memset tu, lo puoi fare quando vuoi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    No, non solo il primo ... setta tutto a zero ... vedi le parentesi { } ...
    ah ho capito..

    quindi se fosse stata una matrice lineare quel codice non avrebbe funzionato?


    cioè:

    codice:
    short array[5]={0};  // Setta solo il primo elemento a 0

  10. #10
    Originariamente inviato da MItaly
    O più semplicemente:
    codice:
    short array[5][5]={0};
    hm che io sappia, l'inizializzazione aggregata, funge solo con il C++, non con il C.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.