Ogół zmiennych możemy podzielić na skalary i agregaty. Skalarami są zmienne, którym można przypisać jedynie dane niepodzielne:
Wyświetlmy plik int.c i zwróćmy uwagę na linię z takim oto kodem:
int x;Jest to deklaracja zmiennej całkowitej (typu int) o nazwie x. Słowo int jest zarezerwowanym słowem (reserved word) w języku programowania C, tzw. słowem kluczowym. Słowa kluczowe mają ściśle określone funkcje programowe i nie mogą być używane w innych celach; np. nie możemy użyć jako identyfikatora zmiennej nazwy int.
Dla większości kompilatorów i mikrokomputerów wykorzystany w programie typ zmiennej całkowitej może przechowywać wartości od -32768 do 32767. O innych typach zmiennych jeszcze sobie powiemy. Nazwa zmiennej może być dowolnym napisem, który jest zgodny z zasadami tworzenia identyfikatorów oraz nie jest słowem kluczowym (u nas jest to literka x). Linię z deklaracją zmiennej kończy obowiązkowo średnik.
Mimo iż zdefiniowaliśmy zmienną, to nie przypisaliśmy jej jeszcze żadnej wartości (a właściwie żadnej zamierzonej wartości). Zobaczymy później, że można przypisać określoną wartość zmiennej już w momencie jej definicji.
Obserwując ciało funkcji głównej programu, możemy zauważyć trzy zdania przypisujące za każdym razem inną wartość zmiennej x. Odbywa się to według schematu przypisania:
nazwa_zmiennej = wartosc;Jak widzimy pomiędzy nazwą zmiennej a jej wartością występuje operator przypisania (podstawienia wartości) = (znak równości). Odpowiada on pascalowemu operatorowi := (dwukropek i znak równości).
W jaki sposób przekazujemy funkcji printf wartości zmiennych? W ten sam, w jaki przekazywane jest liczba, tyle tylko, że zamiast niej pojawia się nazwa zmiennej. Obie poniższe komendy printf wykonają dokładnie to samo:
int x; x = 0; printf("%d", 0); printf("%d", x);
Znak procentu % informuje kompilator, że zostanie wyprowadzona dana określonego formatu, w naszym przypadku jest to dana typu int (całkowitego, integer) w formacie dziesiętnym. Każde wystąpienie pojedynczego znaku procentu (dwuznak %% powoduje wyświetlenie procentu), to ucieczka kompilatora poza cudzysłów w poszukiwaniu argumentów. Jakiego typu to mają być argumenty, o tym decyduje wzorzec konwersji, tj. litera występująca przy procencie. To właśnie d (decimal) jest znacznikiem dla wyprowadzenia w systemie dziesiątkowym liczby całkowitej. Najczęściej wystąpienie procentu jest sygnałem do zaprzestania drukowania znaków i wyświetlenia wartości zmiennej. Pamiętajmy, że przed wyświetleniem zmienna powinna zostać zadeklarowana.
W cudzysłowie może pojawić się więcej wzorców konwersji i mogą one implikować wyświetlanie danych różnego typu, ale najważniejszą sprawą jest, aby ilość tych wzorców odpowiadała liczbie argumentów za cudzysłowem. Argumenty te oddzielamy od siebie przecinkami:
printf("%d %d %d %d", 3, 2, 1, 0);