Ciao e Benvenuto.
In questa conferenza, voglio parlare sul concetto di array.
Un array è un concetto che consente di memorizzare molti valori diversi
in una singola variabile essenzialmente.
Gli array sono comuni nella maggior parte dei casi linguaggi di programmazione.
Aiutano a semplificare e rendere il tuo programma molto più efficiente.
Quindi ne parleremo creazione e utilizzo di array in c.
Quindi un array.
È molto comune in un programma archiviare molti valori di dati di un tipo specificato.
In un programma sportivo, ad esempio, potresti voler memorizzare
i punteggi di tutti i giochi o i punteggi per ogni giocatore.
Fino a questo punto, potremmo facilmente implementarlo, ma dovremmo scrivere una variabile diversa
per ogni punteggio.
Quindi immagina se ci sono un sacco di giochi.
Voglio dire, nel baseball ci sono 162 partite.
Se dovessimo scrivere un programma che era un programma di
baseball che voleva memorizzare alcune statistiche o qualcosa del genere, noi dovrebbe creare
162 variabili per ogni gioco per mantenere il punteggio.
Questo è un dolore nel sedere.
Sarebbe molto noioso.
ed è davvero troppo.
Quindi è qui che array entra in gioco, un array
risolverà questo problema.
Non devi creare 162 variabili.
Puoi creare una singola variabile e accedervi in un certo modo.
Quindi gli array ti consentono di raggruppare i valori insieme sotto un unico nome.
Non hai bisogno di separarti variabili per ogni elemento di dati.
Quindi ti permetterà di diventare un programmatore molto più efficiente.
Un array è un numero fisso di dati gli articoli sono tutti dello stesso tipo.
Quindi solo un problema con un file array è che non puoi modificare
la dimensione dell'array.
Una volta creato l'array, è sarà sempre quella dimensione.
E l'altra restrizione è che puoi non puoi memorizzare più
tipi di dati.
Se dichiari un array ed è continuando a memorizzare numeri
e int, deve memorizzare int.
Quindi un paio di limitazioni.
Come si dichiara un array.
Ricordalo quando dichiari una variabile cosa stai facendo?
Stai dicendo che questo variabile esiste nel programma.
E quando stai dichiarando questi tipi di dati primitivi, stai
allocando il modulo di memoria.
Quando dichiari un array, gli elementi di dati nell'array sono
indicati come elementi.
Quindi questo è un altro concetto quando pensi a un array.
Se sto dicendo il termine elemento ciò significa che mi
riferisco a un elemento nell'array.
Perché ricorda che un array è avrà molti, molti valori
diversi ma con lo stesso nome.
E come abbiamo accennato agli elementi in l'array deve essere dello stesso tipo,
non è possibile combinare e abbinare i tipi di dati.
Non puoi avere un array di 5 int e 5 lunghi.
Non esiste un singolo matrice di più tipi di dati.
Dichiarare un uso di un array in un programma è simile
a una normale dichiarazione di variabile.
Tutto quello che devi fare è specificare il nome e quindi utilizzare le parentesi.
Quindi questa è l'unica differenza, questa idea di parentesi
quadre che seguono il nome.
Ecco un esempio questo sembra una normale dichiarazione
di variabile, ma quello che vedi ecco che hai queste parentesi.
Questa è l'unica cosa che è non è normale e c'è un
numero al loro interno.
Il numero tra parentesi stanno specificando la dimensione.
Quindi qui stiamo solo dicendo che lo siamo
creerà un array denominato numeri di tipo long that's conterrà 10 elementi.
Quindi è abbastanza semplice.
Questo è un numero una dichiarazione perché il punto e virgola è alla fine,
è proprio come una dichiarazione di variabile ma hai
quelle parentesi e un numero, e questa è la dimensione di la matrice o la dimensione della matrice.
Dopo aver dichiarato un array, sei quindi vorrai iniziare a usarlo.
Avrai voglia di iniziare accedere
ai dati al suo interno o scrivervi dati.
Per farlo, hai per capire come l'array
è archiviato in memoria e come è effettivamente accessibile.
Quindi un array con ciascuno degli elementi nell'array, a ciascuno degli elementi di dati, si
accede utilizzando lo stesso nome.
Quindi accederai ancora esso con il nome della variabile.
Tuttavia, se vuoi un file valore in quel raggio, ora
dovrai usare qualcosa chiamato un indice o pedice, entrambi questi termini sono usati
in modo intercambiabile.
Questo valore di indice o pedice è sarà un numero e
sarà anche all'interno delle parentesi per accedere a un elemento nell'array o direttamente
a quel punto nell'array scrivi un valore, che segue il nome dell'array.
Quindi i valori dell'indice sono sequenziali numeri interi che iniziano da 0.
Quindi, quando parliamo di un array e sono
elementi e parliamo degli indici in un array o dei pedici, tutti quei sottotitoli possono iniziare da 0.
Questo fondamentalmente sta dicendo che i loro raggi sono basati su 0.
Quindi i valori di indice per gli elementi in un file l'array di dimensione 10 va da 0 a 9.
0 lo rappresenterà primo elemento dell'array e 9 si riferirà all'ultimo elemento
in una matrice di dimensione 10.
Quindi devi capire questo concetto di array basati su 0.
Intuitivamente, potresti pensare oh io voglio accedere
al primo punto dell'array, ok fornisco index uno, no perché iniziano da 0.
Quindi è molto, molto comune a prova erroneamente ad accedere a un array ed
essere spento di 1 perché pensi che iniziano da uno e
non iniziano da 0.
Questo è indicato come un errore di 1.
Puoi usare un numero intero semplice per fare riferimento esplicitamente
all'elemento a cui si desidera accedere.
Ad esempio, se vuoi accedere il quarto valore
in un array, diresti il nome dell'array e poi tra parentesi diresti 3.
Quindi il nome dell'array sub-3 sta andando per accedere al 4 ° valore
perché il nome dell'array è a base 0.
Quindi devi solo provvedere un numero per l'elemento a
cui desideri accedere.
E ancora, ricorda che è 0 base.
Quindi per accedere al 4 ° elemento, è 3.
Se vuoi accedere al file 8 ° elemento, fai l'indice 7.
Puoi anche specificare un indice per un file elemento della matrice utilizzando l'espressione.
Quindi ora devi solo usare un numero.
Puoi usare un'espressione in quadrato parentesi che seguono anche il nome.
Tuttavia l'espressione deve risultare in un valore intero, che corrisponde a uno
dei possibili valori di indice.
Quindi, se hai una matrice di dimensioni 10 e usi
un'espressione, tale espressione deve essere valutata o 0, qualsiasi numero compreso tra 0 e 9.
È molto comune anche quando lo sei memorizzare elementi in un array per utilizzare un ciclo
per accedervi e stiamo andando per dare anche un esempio di questo.
Quindi per esempio qui, abbiamo un per loop e stiamo inizializzando la nostra variabile di controllo loop su 0
I e siamo uscendo una volta che ho meno di 10.
E cosa stiamo facendo qui stiamo solo
visualizzando i numeri nell'array.
E quindi stiamo dicendo printf il numero è la percentuale
de quindi i numeri sub-I, I è una variabile.
Puoi usare una variabile in un file espressione variabile fintanto che quella
variabile rappresenta un numero da Da 0 a 9, e in questo caso lo fa.
È molto comune da usare per loop per iterare su
un array per accedere agli elementi o scrivere dati su quegli elementi.
Quindi, per riassumere, ecco un bel piccola illustrazione che ho trovato.
Ecco come è strutturato un array.
Se ho un array chiamato numeri, avrai
seguito il nome dell'array da parentesi che identificano i singoli
elementi nell'array.
Quindi posso dichiarare un array solo specificando il tipo e il
nome e quindi specificare la dimensione tra parentesi.
E poi quando voglio accedere esso, io uso semplicemente il nome dell'array
seguito dal valore di indice.
E così per un
array con estensione dimensione 10, avrai indici validi da 0 a 9.
Quindi cosa succede se provi ad accedere un elemento nell'array con
un indice non valido, ad esempio tentando per accedere a una matrice di dimensione 10 utilizzando 11 come indice
o 10 è un indice.
Avrai un array errore di fuori limite.
Quindi, se usi un'espressione o una variabile o una costante per
un valore di indice esterno a intervallo dell'array e al di fuori dell'intervallo
array cosa significa?
Beh, significa che o è negativo numero o è un numero
maggiore della dimensione, davvero maggiore del dimensione meno una perché c'è 0 base.
Quindi, se hai una matrice di dimensioni 10, dimensione meno 1, se è maggiore di 9,
avrai un errore di matrice fuori dai limiti.
E il problema con un array of bounds
error, può causare il crash del programma o addirittura peggio, può far
sembrare che il tuo programma si comporti normalmente, ma poi non si comporta normalmente.
Quindi non produce risultati coerenti.
A volte avrai spazzatura dati, dati che non
significano nulla nell'array.
Ancora una volta, è molto imprevedibile quando hai un errore di matrice di limiti.
E il problema è che il file arrayed l'errore fuori dai limiti non
può essere verificato dal compilatore perché il file il compilatore
non saprà se stai assegnando qualcosa maggiore o se stai accedendo a qualcosa
di più grande delle dimensioni.
Sta ancora per compilare anche se hai quest'area
fuori dai limiti.
Essenzialmente l'array di limiti l'errore è un errore di runtime.
Non lo scoprirai errore fino a quando non si esegue il programma.
E ancora una volta può causare il tuo programma per essere molto imprevedibile.
Quindi vuoi essere molto, molto consapevole di come stai accedendo all'array, di quali valori di
indice stai utilizzando e come stai scrivendo i dati nell'array con
il valore di indice.
Presta molta attenzione al file indici di matrice e anche i limiti.
Se vuoi scrivere dati in un file array, è molto, molto semplice.
Fondamentalmente lo farai basta usare l'indice.
Quindi un valore può essere memorizzato in array semplicemente specificando l'elemento array a
sinistra lato del segno di uguale e quindi utilizzando le parentesi
per specificare il elemento a cui vuoi scrivere.
Quindi, in questo esempio, abbiamo un file matrice denominata gradi, non sappiamo che dimensione sia, deve
essere maggiore di 100 altrimenti avremmo un errore di matrice
fuori dai limiti qui.
Ma in questo esempio, stiamo dicendo il voto inferiore a 100 è pari a 95.
Il valore 95 viene memorizzato in l'elemento numero 100 della
matrice dei voti, molto semplice.
Devi solo specificare l'indice e poi qualunque valore tu voglia firmare
lo fai.
Puoi anche usare le variabili per assegnare valori a un array.
Quindi 95 potrebbe essere memorizzato in una variabile, proprio come assegni altre variabili.
Ora esaminiamo un file esempio di utilizzo di un array.
Ecco un esempio di utilizzo di un file array che sommerà
letto in 10 numeri e poi mi darà la media di quei 10 numeri.
Mentre li stiamo leggendo in noi siamo andando a calcolare la
somma poi visualizzeremo la media.
Quindi, a questo punto, voglio prendere questo esempio e
voglio metterlo in blocchi di codice e provare a eseguirlo e mostrarti come funziona.
Siamo nella nostra visione normale, siamo in un progetto semplice e ti mostreremo come funziona un
array in blocchi di codice.
Noterai che lo siamo nella nostra funzione principale.
Questa è la voce indicare il programma.
E sulla linea 12, siamo dichiarare un array.
Dichiareremo un file matrice di tipo int di dimensione 10.
La dimensione è all'interno delle parentesi, lo terminiamo con un punto e virgola.
Questo è un array che è andando a memorizzare 10 valori.
Se non avessimo questo
array memorizzato quello che dovremmo fare è dire i voti 1 int, voti 2 int, voti 3.
Vedi quanto sia problematico è e quanto è noioso.
È molto bello che possiamo crea semplicemente una singola variabile che
memorizza 10 elementi e sono raggruppati insieme.
Quando archivi gli elementi in un array, tu non voglio che i valori dei dati
siano diversi, tutte cose diverse.
Come in questo esempio, stiamo archiviando voti, quindi sono tutti voti.
Non vuoi nominare un array qualcosa e poi dico che memorizzerò
i miei voti, lo farò memorizzare il mio ...
mio... mio... qualunque cosa, la mia età lì dentro e qualsiasi cosa.
Assicurati di memorizzare lo stesso tipo di dati quando sei un array.
La prossima variabile in linea 13 è una variabile di conteggio.
È uguale a 10.
Sarà il numero di valori da leggere perché
stiamo esaminando l'array.
La somma è lunga, sommeremo i numeri mentre passiamo attraverso i valori e
poi la media sta andando essere un float perché vogliamo ottenere
la media dei numeri.
La prima cosa che faremo la riga 17
è che diremo all'utente che vogliamo che lo faccia inserire 10 voti e
poi leggeremo i valori.
Quindi alle righe 20 notate come sto indentazione e sto
usando una buona denominazione, rientro e un buon blocco di codice per blocchi di rientro di codice.
Qui alla riga 20, sto dichiarando la mia variabile di controllo del ciclo.
Sto eseguendo un vecchio compilatore, c compilatore 89, quindi non posso dichiararlo e
inizializzare la stessa riga.
Normalmente, faresti solo questo.
Ma quando lo faccio perché corro Il compilatore C89 riceve un errore.
Quindi dichiaro la mia variabile in linea 20, quindi utilizzo un ciclo for.
Abbiamo familiarità con i cicli for dalle nostre lezioni precedenti ti permette
di ripetere il codice.
Qui stiamo solo dicendo che lo faremo abbiamo un ciclo
for controcontrollato, inizieremo da 0 e siamo andando fino alle 10.
Quindi andiamo attraverso 10 iterazioni, ma noti che
l'indice è 0.
È importante perché accediamo a un array,
usando quella variabile I.
E poi te ne accorgerai alla fine del ciclo for, modifichiamo
la variabile di controllo del ciclo incrementandola.
Quindi stamperemo il valore di I più
1 mentre esaminiamo l'array per mostrartelo dove sei per i numeri.
Quindi fondamentalmente dirà come inserire grado 1 grado 2 grado 3 grado 4.
Ti chiederà quindi di farlo entrare nel voto usando scanf.
Lo memorizzeremo nel nostro array.
Lo noterai quando tu memorizzalo nell'array, è proprio
come un normale accesso a una variabile.
Usi solo voti e quindi si specifica l'indice.
Qui stiamo usando I come nostro indice.
Quindi sarà uguale a 0 la prima iterazione, 1 la seconda
iterazione, 2 la terza iterazione.
Ed è un bene che abbiamo iniziato con 0 perché gli array
sono basati su 0 e quindi usiamo solo l'indirizzo di operatore, la e commerciale.
Mentre stiamo andando avanti, lo siamo andando a sommare i voti insieme.
Quindi diremo somma è uguale alla somma più il voto sub I.
Ogni grado sta per fondamentalmente calcola un totale.
E poi una volta che siamo usciti dal giro dopo aver eseguito
10 volte, imposteremo la nostra media uguale a somma divisa per il conteggio e
lanciala su un galleggiante, stiamo lanciando qui.
Questo sta cambiando il tipo di dati.
Ricorda, somma divisa per conteggio, somma è lungo e conta come un int e vogliamo lanciarlo su
un float.
E poi alla fine, siamo andando a stampare la media.
Quindi andiamo avanti ed eseguiamo questo e assicurati di non ricevere errori, che hanno 0 errori
e 0 avvisi.
Quindi ora eseguiamolo.
E così andrà esattamente quello che ho detto.
Dirà: "Entra nei 10 voti" e poi mette un 1 in un piccolo segno lì in modo da
sapere a quale numero siamo.
Entrerà come 95 32 55, entrerà e metterà solo i numeri
qui.
Non hanno necessariamente senso, va bene, e il mio ultimo numero 23.
La media di quei 10 i voti saranno 51. 20.
Ma è davvero bello perché noi non è necessario creare 10 variabili.
Accediamo all'array utilizzando il pedice e possiamo assegnare valori
all'array usando il pedice.
Questo è in realtà l'assegnazione quando facciamo lo scanf.
Stiamo assegnando dati a quello a quel pedice.
Ora, se dovessimo cambiare questo e diciamo che siamo partiti da 1 e
invece di contare quale è 10, in realtà lo impostiamo uguale.
Quindi in realtà andiamo non cambiarlo in 1.
Diciamo che stiamo per iniziare a 0, ma ora
andremo fino all'indice 10.
Ricorda, l'indice 10 è fuori limite perché la dimensione dell'array è
10, ma il valore dell'indice è 0 basato in modo che l'indice massimo sia 9.
E ancora, saremo in grado per compilare questo
perché i compilatori non rilevano errori fuori limite, il problema è quando lo eseguiamo.
Ora, quando eseguiamo il programma, avremo un grosso problema se proviamo
ad entrare in terza media.
Quindi andrà tutto bene.
Quando entriamo in 10 voti, il problema succederà quando
arriveremo a 11.
Ora ne abbiamo 11 e lo siamo proverò a memorizzare i dati.
Non è successo niente di male, ma il nostro la media non sarà corretta.
Ed è un comportamento molto imprevedibile quando si verifica un errore di fuori limite.
Quindi vuoi assicurarti che hai il conteggio della lezione dell'occhio e
vuoi assicurarti che quando si accede alle informazioni, non si esce nemmeno
dai limiti.
E questa è la base dell'array, dichiarando l'array, specificando
la dimensione solo il tipo di dati e poi la dimensione e le parentesi, l'accesso all'array o
la memorizzazione dei dati nel file array, assegnando valori, utilizzando
il pedice I all'interno degli indici.
E potremmo persino stampare il file indici che utilizzano anche pedice.
Gli array stanno per essere usato un bel po '.
Avremo molti esempi con array perché semplifica le cose.
Ricorda solo che gli array sono di dimensioni fisse.
Non puoi modificare il file dimensione dei voti.
Lo sarà sempre 10 durante l'esecuzione del programma.
Quindi, se assegni i dati sopra quello, non si espanderà.
E ricorda anche quei voti deve essere lo stesso tipo di dati.
Non riesco a memorizzare stringhe o parole in grado, posso memorizzare solo int.
Non riesco a riporre i galleggianti lì, solo store int.
Grazie.