Opis
Funkcja sizeof () w Arduino to wbudowana funkcja, która daje nam rozmiar zmiennej lub tablicy. Rozmiar zmiennej to całkowite bajty potrzebne do przechowywania wartości zmiennej, podczas gdy rozmiar tablicy to łączne bajty wymagane do przechowywania wszystkich jej elementów.
Składnia
Oto podstawowa składnia funkcji sizeof () w Arduino:
Rozmiar (zmienna)
W tej składni zmienna to nazwa zmiennej lub typu danych, którą chcesz określić rozmiar. Funkcja sizeof () podaje rozmiar zmiennej w bajtach jako wartości całkowitej.
Parametry
Ta funkcja przyjmuje następujący parametr:
Zmienna: którego rozmiar musimy znaleźć.
Funkcja sizeof () może przyjmować dowolną zmienną lub typ danych jako argument, w tym liczby całkowite, pływaki, znaki, tablice i struktury.
Zwroty
Ta funkcja zwraca całkowitą bajty w zmiennej lub liczbie bajtów pobranych przez tablicę.
Notatka: Należy zauważyć, że funkcja sizeof () nie zawiera żadnych dodatkowych kosztów ogólnych, które mogą być wymagane przez sprzęt lub oprogramowanie. Na przykład, jeśli masz tablicę 10 liczb całkowitych, funkcja sizeof () zwróci rozmiar tablicy w bajtach, ale nie uwzględnia żadnych dodatkowych kosztów ogólnych, które mogą być wymagane przez sprzęt lub oprogramowanie.
Jak znaleźć długość łańcucha za pomocą funkcji sizeof () w Arduino
Następujący kod przyjmuje ciąg i zwraca jego długość za pomocą funkcji sizeof ().
Char MySTR [] = "Arduino";
void setup ()
Seryjny.rozpocząć (9600);
void Loop ()
dla (bajt i = 0; i < sizeof(myStr) - 1; i++)
Seryjny.Drukuj (i, dec);
Seryjny.print („=”);
Seryjny.Write (Mystr [i]);
Seryjny.println ();
opóźnienie (50000); // Zwolnij program
Powyższy kod zaczyna się od zdefiniowania tablicy znaków o nazwie MySTR, która zawiera ciąg "Arduino".
organizować coś() Funkcja rozpoczęła komunikację szeregową. W środku pętla() Funkcja, istnieje pętla dla iteratorów nad każdym elementem tablicy MySTR za pomocą zmiennej indeksu i.
Warunek pętli jest odejmowany od 1, co oznacza, że pętla potrwa od 0 do długości macierzy minus 1. Przyczyną odejmowania 1 jest to, że funkcja sizeof () zwraca całkowitą liczbę bajtów wymaganych do przechowywania tablicy, która zawiera znak terminatora zerowego na końcu ciągu. Ponieważ nie chcemy włączać terminatora zerowego w naszej pętli, odejmujemy 1 od długości tablicy.
Funkcja pętli wydrukuje indeks i odpowiedni znak za pomocą szeregowego.Drukuj i serial.Pisz funkcje. Następnie program opóźnia 50000 milisekund przed powtórzeniem pętli.
Wyjście
Na poniższym wyjściu możemy zobaczyć rozmiar łańcucha.
Jak znaleźć rozmiar tablicy za pomocą funkcji sizeof () w Arduino
Oto przykładowy kod, który używa funkcji sizeof () do określenia długości tablicy całkowitej:
int myarray [] = 1, 2, 3, 4, 5;
void setup ()
Seryjny.rozpocząć (9600);
void Loop ()
int arrayLength = sizeof (myarray) / sizeof (myarray [0]);
Seryjny.Drukuj („Długość tablicy to:”);
Seryjny.println (tablica);
opóźnienie (5000);
W tym przykładzie mamy tablicę liczb całkowitych o nazwie MyArray, która zawiera wartości od 1 do 5. Funkcja setup () inicjuje komunikację szeregową, a funkcja pętli () jest miejscem, w którym znajduje się główna logika programu.
Wewnątrz funkcji Loop () używamy funkcji sizeof () do określenia całkowitej liczby bajtów wymaganych do przechowywania tablicy MyArray. Ta wartość dzielimy przez liczbę bajtów wymaganych do przechowywania pojedynczego elementu tablicy (który jest podany przez sizeof (myarray [0])), aby uzyskać długość tablicy. Zmienna liczb całkowita o nazwie ArrayLength będzie przechowywać tę wartość.
Następnie używamy serialu.print () i szeregowy.println () funkcjonuje do wydrukowania długości tablicy. Na koniec używamy funkcji opóźnienia (), aby zatrzymać program przez 5 sekund przed ponownym uruchomieniem pętli.
Wyjście
Na poniższym wyjściu możemy zobaczyć rozmiar tablicy.
Wniosek
Funkcja sizeof () w Arduino może określić długość tablicy. Przekazując tablicę jako argument do funkcji sizeof (), możesz łatwo uzyskać liczbę elementów w tablicy, niezależnie od jej typu danych. Należy zauważyć, że sizeof () zwraca rozmiar tablicy w bajtach. Aby uzyskać szczegółowy opis tej funkcji, przeczytaj opis kodu w powyższym artykule.