Beskrivelse
Størrelse av () -funksjonen i Arduino er en innebygd funksjon som gir oss størrelsen på en variabel eller en matrise. Størrelsen på en variabel er de totale byte som trengs for å lagre den variable verdien, mens størrelsen på en matrise er de totale byte som kreves for å lagre alle elementene.
Syntaks
Her er den grunnleggende syntaks for størrelse av () -funksjonen i Arduino:
størrelse av (variabel)
I denne syntaksen er variabel navnet på variabelen eller datatypen du vil bestemme størrelsen på. Størrelsen () -funksjonen gir størrelsen på variabelen i byte som en heltallverdi.
Parametere
Denne funksjonen tar følgende parameter:
variabel: hvis størrelse vi trenger å finne.
Størrelse av () -funksjonen kan ta hvilken som helst variabel eller datatype som argument, inkludert heltall, flyter, tegn, matriser og strukturer.
Returnerer
Denne funksjonen returnerer de totale byteene i en variabel eller antall byte tatt av en matrise.
Merk: Det er viktig å merke seg at størrelsen () -funksjonen ikke inkluderer noen ekstra overhead som kan kreves av maskinvaren eller programvaren. For eksempel, hvis du har en rekke 10 heltall, vil størrelsen () -funksjonen returnere størrelsen på matrisen i byte, men den tar ikke hensyn til noen ekstra overhead som kan være nødvendig av maskinvaren eller programvaren.
Hvordan finne lengden på strengen ved å bruke størrelsen () -funksjonen i Arduino
Følgende kode tar en streng og returnerer lengden på den ved hjelp av størrelsen på () -funksjonen.
char mystr [] = "arduino";
void setup ()
Serie.Begynn (9600);
void loop ()
for (byte i = 0; i < sizeof(myStr) - 1; i++)
Serie.trykk (i, desember);
Serie.print ("=");
Serie.skriv (mystr [i]);
Serie.println ();
forsinkelse (50000); // bremse programmet
Over -koden starter med å definere en tegngruppe kalt Mystr som inneholder strengen "Arduino“.
De oppsett () funksjon startet seriell kommunikasjon. Inne i Løkke() funksjon, det er en for loop som itererer over hvert element i Mystr -matrisen ved hjelp av en indeksvariabel i.
Loop -tilstanden trekkes fra 1, noe som betyr at sløyfen vil løpe fra 0 til lengden på matrisen minus 1. Årsaken til å trekke fra 1 er fordi størrelsen på () -funksjonen returnerer det totale antallet byte som kreves for å lagre matrisen, som inkluderer Null Terminator -tegnet på slutten av strengen. Siden vi ikke ønsker å inkludere Null Terminator i loopen vår, trekker vi 1 fra lengden på matrisen.
Loopfunksjonen vil skrive ut indeksen og tilsvarende tegn ved hjelp av serien.trykk og seriell.skrive funksjoner. Programmet forsinker deretter for 50000 millisekunder før du gjentar sløyfen.
Produksjon
I den gitte utgangen nedenfor kan vi se størrelsen på en streng.
Hvordan finne array -størrelse ved å bruke størrelsen () -funksjonen i Arduino
Her er en eksempelkode som bruker størrelsen () -funksjonen for å bestemme lengden på et heltallsarray:
int myArray [] = 1, 2, 3, 4, 5;
void setup ()
Serie.Begynn (9600);
void loop ()
int arrayLength = sizeOf (MyArray) / sizeOf (MyArray [0]);
Serie.trykk ("Lengden på matrisen er:");
Serie.println (arrayLength);
forsinkelse (5000);
I dette eksemplet har vi en heltallsarray kalt MyArray som inneholder verdiene 1 til 5. Setup () -funksjonen initialiserer seriell kommunikasjon, og Loop () -funksjonen er der hovedlogikken til programmet ligger.
Inne. Vi deler denne verdien med antall byte som kreves for å lagre et enkelt element i matrisen (som er gitt av størrelse av (MyArray [0])) for å få lengden på matrisen. En heltallsvariabel med navnet ArrayLength vil lagre denne verdien.
Vi bruker da serien.trykk () og seriell.println () fungerer for å skrive ut lengden på matrisen. Til slutt bruker vi forsinkelsen () -funksjonen for å pause programmet i 5 sekunder før vi kjører sløyfen igjen.
Produksjon
I den gitte utgangen nedenfor kan vi se størrelsen på en matrise.
Konklusjon
Størrelse av () -funksjonen i Arduino kan bestemme lengden på en matrise. Ved å sende en matrise som et argument til størrelsen på () -funksjonen, kan du enkelt få antall elementer i matrisen, uavhengig av datatypen. Det er viktig å merke seg at størrelse () returnerer størrelsen på matrisen i byte. For ytterligere detaljert beskrivelse av denne funksjonen, les kodebeskrivelsen i artikkelen ovenfor.