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
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
Usa un memcpy ... è piu' semplice e veloce ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
short array[5][5];
memcpy(array,'0',sizeof(short)*5*5);
?
Scusa ... intendevo la memset ... da usare
memset(array, 0, sizeof(short)*5*5);
No MP tecnici (non rispondo nemmeno!), usa il forum.
O più semplicemente:
codice:short array[5][5]={0};
Amaro C++, il gusto pieno dell'undefined behavior.
quello setta tutto a zero? O.O O.OOriginariamente inviato da MItaly
O più semplicemente:
codice:short array[5][5]={0};
non dovrebbe settare solo il primo elemento a 0?
No, non solo il primo ... setta tutto a zero ... vedi le parentesi { } ...Originariamente inviato da xnavigator
non dovrebbe settare solo il primo elemento a 0?
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.
ah ho capito..Originariamente inviato da oregon
No, non solo il primo ... setta tutto a zero ... vedi le parentesi { } ...
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
hm che io sappia, l'inizializzazione aggregata, funge solo con il C++, non con il C.Originariamente inviato da MItaly
O più semplicemente:
codice:short array[5][5]={0};