Arduino lengde på matrisen ved bruk av størrelse av funksjon

Arduino lengde på matrisen ved bruk av størrelse av funksjon
Arduino er et elektronisk brett som brukes til å lage interaktive prosjekter. Et av de essensielle aspektene ved Arduino -programmering er å jobbe med matriser. Når du jobber med matriser, er det viktig å vite størrelsen på matrisen. I denne artikkelen vil vi diskutere Arduino SizeOf () -funksjonen, som hjelper til med å bestemme lengden på en matrise.

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.