Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-01-2005, 14:28   #21
Vault
Member
 
L'Avatar di Vault
 
Iscritto dal: Dec 2002
Città: Mantova & Milano
Messaggi: 86
La malloc è in un capitolo che devo ancora studiare

E comunque 'sti puntatori all'inizio sono un po' ostici
__________________
No! Provare no! Fare, o non fare. Non c'è provare.
Feedback positivi per: vortex99, 10ruicosta10, lera757.
Vault è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2005, 15:05   #22
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
si all'inizio ma poi non ti verrà + in mente di gestire un array con un indice e userai sempre i puntatori e poi la possibilità di avere un puntatore ad una area di memoria allocata dinamicamente è una cosa stupenda cmq impara ad usare i puntatori come si deve questo è un consiglio
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2005, 22:00   #23
Vault
Member
 
L'Avatar di Vault
 
Iscritto dal: Dec 2002
Città: Mantova & Milano
Messaggi: 86
Mi sto impegnando per comprenderli al meglio...

Il fatto è che il puntatore mi sembra troppo dispersivo... Un vettore mi dà l'idea di essere un bel trenino di dati, coi suoi vagoni in ordine... Il puntatore mi sembra troppo vago, non vedo i suoi elementi come uno in fila all'altro...
Mi sbaglio? Mi rendo conto che magari la figata sta proprio qui... Mi con tutte le cose in ordine mi sento meglio
__________________
No! Provare no! Fare, o non fare. Non c'è provare.
Feedback positivi per: vortex99, 10ruicosta10, lera757.
Vault è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2005, 22:54   #24
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
il vettore è un trenino di dati e funziona così. se io dichiaro il vettore come
Codice:
int A[10];
vuol dire che sto creando riservando un'area di memoria adatta a contenere 10 elementi di tipo int. per accedere a quell'area di memoria io ho il suo indirizzo base che è A (quindi la variabile A contiene un indirizzo di memoria!). quindi se io scrivo A+4 vuol dire letteralmente "indirizzo di memoria A più quattro locazioni di memoria" (più altre cose che però al momento non ti interessano). quindi vuol dire che il numero A+4 corrisponde all'indirizzo di memoria del quinto (ricordati che vale anche lo 0) numero del vettore. la scrittura A[4] vuol dire "il valore contenuto nell'indirizzo di memoria A+4".
una cosa importante è che la dimensione di un vettore non può essere variata a tempo d'esecuzione e rimane tale (in questo caso 10) fino al termine del programma.
capirai bene che se A, come abbiamo detto, è un indirizzo di memoria, quando io dichiaro un puntatore vuol dire che dichiaro qualcosa di sostanzialmente uguale ad A, cioè un vettore. la dichiarazione di un puntatore avviene scrivendo
Codice:
int *B;
in questo modo ho creato una variabile che al suo interno ha un indirizzo di memoria, proprio come A!! solo che B ancora non è un vettore perchè come ricordi ad A abbiamo assegnato 10 locazioni. per assegnare una quantità di memoria ad un puntatore si usa la malloc così
Codice:
B= (int *) malloc (10*sizeof(int))
te la spiego passo passo: assegna a B (che è un indirizzo di memoria) un indirizzo di memoria (che potrebbe non coincidere con quello che gli era stato assegnato nel momento della dichiarazione di B) e riserva 10*sizeof(int) locazioni a partire da quell'indirizzo. quindi se io scrivo B+4 vale la stessa definizione che ho dato prima per A, e lo stesso vale anche se scrivo B[4]. se io volessi riallocare (leggi ridimensionare, ma in realtà viene riallocata per davvero) l'area di memoria puntata da B dovrei usare la funzione realloc().
ti riporto una serie di scritture equivalenti che possono essere usate indifferentemente sia nel caso la variabile sia stata dichiarata come un vettore che come un puntatore (con il simbolo = intendo "equivalente")

A[0] = *(A)
A[6] = *(A+6)
&A[0] = A
&A[6] = A+6

al momento non me ne vengono altre... cmq spero che ti abbia schiarito un po' le idee...

Ultima modifica di VegetaSSJ5 : 17-01-2005 alle 22:58.
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2005, 23:52   #25
Vault
Member
 
L'Avatar di Vault
 
Iscritto dal: Dec 2002
Città: Mantova & Milano
Messaggi: 86
Adesso so a che serve la malloc, grazie

Se non la usassi, un vettore dichiarato tramite puntatori potrebbe avere dimensione potezialmente infinita? Questo nei limiti della memoria fisica, dei confini dedicati al programma ecc...
Che rischi si correrebbero quando scorro gli indici del puntatore? Accedo a dati che non mi interessano?
__________________
No! Provare no! Fare, o non fare. Non c'è provare.
Feedback positivi per: vortex99, 10ruicosta10, lera757.
Vault è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2005, 07:11   #26
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
Quote:
Originariamente inviato da Vault
Adesso so a che serve la malloc, grazie

Se non la usassi, un vettore dichiarato tramite puntatori potrebbe avere dimensione potezialmente infinita? Questo nei limiti della memoria fisica, dei confini dedicati al programma ecc...
Che rischi si correrebbero quando scorro gli indici del puntatore? Accedo a dati che non mi interessano?
se tu non dichiarassi la dimensione di un puntatore, nessuno ti vieta di scorrere gli indici in questo modo
Codice:
for (i=0; i<n; ++i) A[i]= ...
nonostante nessuno ti vieta di fare questo devi ricordare che scorrere un puntatore quando non hai allocato memoria è SBAGLIATO! infatti in questo modo andresti ad indicizzare delle celle di memoria che potrebbero far parte della zona delle istruzioni del programma oppure potresti andare oltre i limiti di quel programma in memoria. Nel primo caso se sovrascrivi quelle celle di memoria è probabile che il programma ti vada in crash. Nel secondo caso si dice che il programma va in "segmentation fault", ti restituisce un errore e termina. quando non assegni la dimensione ad un puntatore, ricorda che hai a disposizione UN solo elemento, proprio come se avessi dichiarato una variabile solo che per accedere al suo valore devi fare *var=... invece che var=...
chiaro??
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2005, 19:58   #27
Vault
Member
 
L'Avatar di Vault
 
Iscritto dal: Dec 2002
Città: Mantova & Milano
Messaggi: 86
Proprio come pensavo

Il segmentation fault ho già avuto modo di conoscerlo in laboratorio

Grazie ancora!
__________________
No! Provare no! Fare, o non fare. Non c'è provare.
Feedback positivi per: vortex99, 10ruicosta10, lera757.
Vault è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Vogliono costruire un monumento per Elon...
Ring Intercom Audio crolla a 39,99€ su A...
La Francia blocca il divieto dei social ...
Trump citato in giudizio: chiesto lo sto...
PEC obbligatoria per revisione e passagg...
Il ripulitore di watermark Claude da 4.5...
Xiaomi 17 Ultra scambia il Sole per la L...
È arrivata la migliore e-bike Eng...
Apple Mac mini M4, ecco perché conviene ...
Robot aspirapolvere in offerta su Amazon...
Il nuovo pick-up elettrico di Ford &egra...
Google Pixel 11 arriva su Amazon: preord...
Mega sconti su attrezzi a batteria e rob...
Google Search dà per morto Sam Al...
Il noleggio delle GPU NVIDIA si quota in...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v