Ciao e Benvenuto.
In questa conferenza lo faremo parliamo di array di lunghezza variabile.
Cosa significa esattamente questo?
Bene, questa è una nuova funzionalità che è stato aggiunto credo per C99.
Ma fino a questo punto, tutti noi conoscere gli array,
oltre ad essere multidimensionali e anche di più essendo una caratteristica interessante in cui
è possibile memorizzare più elementi di dati in una singola variabile essenzialmente, è
che sono di dimensioni fisse.
Dopo aver specificato quella dimensione, tu utilizzare una costante hardcoded.
Quando dichiari la variabile che specifica la
dimensione e rimane lo stesso.
Array di lunghezza variabile è un po 'fuorviante.
Non significa che cambierai la dimensione della matrice in modo dinamico.
Sarà ancora lo stesso size, ma ora puoi usare le variabili.
Quindi il termine variabile in variabile length array non significa che è possibile modificare
la lunghezza di l'array dopo averlo creato.
Ciò che significa è che ora puoi imposta una variabile da usare per quell'array.
quindi un VLA continuerà a rimanere la stessa dimensione dopo la creazione.
L'array di variabili ti consente di specificare la dimensione e l'array con una
variabile durante la creazione di un array.
Quindi puoi semplicemente usare le variabili, questo è tutto ciò che realmente significa.
Sembra che potrebbe non essere così utile.
Ma in realtà l'unica ragione è stato davvero aggiunto perché
aiutava a esistere davvero biblioteche e altre lingue.
Così C99 ha introdotto questa novità caratteristica ed è utilizzato ed è per questo che
ho voluto menzionarlo.
Lo menzionerò solo brevemente, non ho intenzione di fornire
un caso d'uso dettagliato di esso.
Volevo solo dirti che esiste perché a volte si vede
questo termine array a lunghezza variabile un po ' quando stai leggendo su c.
E non vorrei che tu vedessi e dire cosa
diavolo significa questo quando abbiamo studiato gli array e non abbiamo menzionato l'argomento.
Quindi è stato introdotto principalmente per rendere c un linguaggio migliore per
il calcolo numerico.
VLA è quale array di lunghezza variabile rendono molto più
semplice convertire le librerie esistenti di Fortran routine di calcolo numerico per c.
Quindi questo è il motivo per cui è stato aggiunto.
Quindi se sei un Fortran programmatore, potresti volerlo
utilizzare durante la migrazione o se stai convertendo il codice.
Se stai portando il tuo Fortran codice
che prova a convertirlo in c, potresti volerlo usare.
Non è possibile inizializzare un file VLA nella sua dichiarazione.
Quindi non c'è inizializzazione quando parli di
array a lunghezza variabile.
Ecco alcune taglie valide che hai può essere applicato quando si dichiara un array.
Quindi possiamo dichiararne due variabili e una m.
E poi vedi in fondo quando diciamo float 8 e float a9, possiamo
usare queste variabili quando li dichiariamo nella dimensione dell'array.
E prima non era permesso C99 ma ora lo è
e questo è VLA, array a lunghezza variabile.
Specificare una variabile a essere utilizzato all'interno di un array.
Non cambia la dimensione in fase di esecuzione.
Ci sono altri esempi qui validi dichiarazioni di array a cui potresti
voler prestare attenzione.
Perfettamente a posto se stai impostando un array a una dimensione specifica, come 5.
Puoi usare espressioni quando si assegna la dimensione di un array.
Quindi nel prossimo esempio 5 per 2 più 1, va bene.
L'altra cosa da notare qui è stiamo usando l'operatore sizeof, e anche questo
va benissimo perché che restituirà un int.
Sizeof int sta per tornare 4 o 8 a seconda della macchina su cui
stai girando e poi sei aggiungendo 1, perfettamente bene.
Mettere un numero negativo all'interno della dichiarazione di
un array, non puoi farlo.
Non esiste un 4 negativo.
La dimensione dell'array deve essere maggiore di 0.
Quindi anche lo zero non funzionerà.
2. 5 mettendo un galleggiante, non posso farlo neanche, non ha senso.
Come puoi creare un array di dimensione 2. 5.
Tuttavia, se metti 2. 5 all'interno le parentesi quadre e lo
cast su un int, va bene.
Anche in questo caso non volevo spendere molto tempo su array di lunghezza
variabile, voglio solo introdurre il concetto.
Se senti il termine, tu sai cos'è.
Assegnazione di variabili a un array quando li si dichiara per la dimensione.
Davvero appena introdotto per la compatibilità con
le librerie Fortran esistenti. Grazie.