Cześć i witaj.
W tej demonstracji chcę przedstawić rozwiązanie dla szybkiego, małego programu, który
użyje operatora sizeof, aby powiedzieć nam, jak duża
jest nasza pamięć dla określonych typów danych.
Przywołajmy bloki kodu
i zrobimy tutaj dobrze znane kroki podczas tworzenia projektu.
Otrzymamy wymowne imię.
Nazwijmy ten projekt
sizeofexample.
Tak więc rozmiarprzykładu.
To będzie naprawdę łatwe. Będzie po prostu
używać instrukcji printout do wyświetlania określonych typów danych.
Więc nie zamierzam nawet tworzyć żadnych zmiennych. Wydrukuję tylko niektóre
dane.
Więc tutaj powiem, zmienne typu
char zajmują procent.
I zamierzałem użyć pewnego
typu danych um. Myślę, że to był zf,
ale spróbujmy użyć zd. To ładny specyfikator
formatu, który, jak sądzę, został dodany w C99.
Zd, a następnie wszystko, co musimy zrobić, to użyć sizeof.
Sizeof i get it wygląda jak funkcja, ale tak nie jest. A potem powiedz char zamiast charakteru.
A potem po prostu skopiuję
to i wkleję, ponieważ zamierzam zrobić podobne rzeczy.
Nie zamierzam robić chara, ale zamierzam zrobić shorta na drugim.
Zamierzam zrobić int i long, long
long,
double lub zróbmy float, float double,
spróbujmy long double.
A potem wszystko, co musimy zrobić,
to zmodyfikować rozmiar parametrów, aby przyjąć odpowiednie typy.
Użyjemy tego również, gdy będziemy mówić o pamięci i wskaźnikach.
Ale to pomaga po prostu zrozumieć różne typy danych.
Zobaczysz, że faktycznie możesz przejść w kosmos
przez długi czas. Prawdopodobnie dlatego nie jest to funkcja, ponieważ nie możesz mieć spacji w parametrach funkcji.
Ale pamiętaj, że sizeof również przyjmuje zmienne, wyrażenia i
różne rzeczy.
A kiedy to robi, w rzeczywistości określa sizeof w czasie wykonywania,
w przeciwieństwie do czasu kompilacji w long double.
Zapisz to, buduj.
Bez błędów.
Wygląda na to, że nie rozumie formatu z.
To dlatego, że może nie być int. Zamiast tego zmieńmy je na procent użycia
dla bez znaku.
W porządku, teraz budujmy.
W porządku, teraz nie mamy żadnych ostrzeżeń. Zazwyczaj, gdy buduję, nie chcesz również otrzymywać żadnych ostrzeżeń.
Ostrzeżenia w kompilatorze są dokładnie
tym, o czym mówią, że ostrzegają. Więc nadal będziesz pomyślnie
kompilować, ale ostrzeżenie zwykle wskazuje na problem.
Więc chcesz wyczyścić swoje ostrzeżenia. Otrzymałem więc ostrzeżenie, że specyfikator formatu nie
jest dozwolony w procentach z. więc to zmieniłem, teraz nie mam żadnych ostrzeżeń.
Postaraj się wyczyścić ostrzeżenia tak bardzo, jak to możliwe, ponieważ są to ostrzeżenia, ponieważ mogą powodować problemy.
I jedną rzeczą, o której tutaj zapomniałem, a którą właśnie
zauważyłem, jest to, że jest nieprawidłowo sformatowany, ponieważ nie dodałem swojego znaku ucieczki dla zakładu na nowe linie.
Dlatego bardzo utrudnia to czytanie. Dodajmy więc nasz lewy
ukośnik n po procentach u.
Więc teraz mówi, że zmienne typu char zajmują jeden.
Zmienne typu short zajmują 2 bajty,
int 4 bajty, long 4 bajty, long long 8
bajtów, float 4 bajty, double 8 bajtów, long double 12.
To całkiem fajne. Uruchomisz to na wielu różnych platformach i zobaczysz, jak te rzeczy się zmieniają.
Czyli łatwy program do napisania, ale ponownie demonstrujący kilka zgrabnych koncepcji.
Więc możesz śmiało, możesz to pobrać.
Jeśli masz jakiekolwiek problemy, spróbuj uruchomić go na różnych platformach, ale
to wszystko, co chciałem pokazać, tylko mały pokaz różnych rozmiarów
typów danych, więc przejdź do następnej sekcji. Dziękuję Ci.