zmienna C
W rzeczywistości jedyną zmienną to nazwa magazynu programu operacyjnego. C każda zmienna posiada określony typ, typ zmiennej określa rozmiar pamięci i układ, wartość z zakresu może być przechowywane w pamięci, operator może stosować się do zmiennych.
Nazwa zmiennej może składać się z liter, cyfr i znaku podkreślenia. Musi zaczynać się od litery lub znaku podkreślenia. Wielkie i małe litery są różne, ponieważ C jest wielkość liter. Na podstawie poprzedniego rozdziału wyjaśnić podstawowe typy, istnieje wiele podstawowych typów zmiennych
类型 | 描述 |
---|---|
char | 通常是一个八位字节(一个字节)。这是一个整数类型。 |
int | 对机器而言,整数的最自然的大小。 |
float | 单精度浮点值。 |
double | 双精度浮点值。 |
void | 表示类型的缺失。 |
Język C pozwala również na zdefiniowanie różnych innych typów zmiennych, takich jak wyliczanie, wskaźników, tablic, struktur, związków itp, które zostaną wyjaśnione w późniejszych rozdziałach, rozdział ten najpierw wyjaśnić podstawowe typy zmiennych.
Definicja zmiennej w C
Zmienna definicja jest poinformować kompilator, aby utworzyć zmienną do przechowywania, gdzie i jak tworzyć zmienne przechowywania. Definicja zmiennej określa typ danych i zawiera listę rodzaju lub większej ilości zmiennych, jak następuje:
type variable_list;
Tutaj typ musi być prawidłowy typ C Dane, które mogą być char, w_char, obiekty int, pływaka, podwójne, bool lub dowolny zdefiniowany przez użytkownika,lista_zmiennych może składać się z jednego lub większej liczby nazwy identyfikatorów złożonych z wielu identyfikatorów oddzielone przecinkami. Oto niektóre ważne stwierdzenie:
int i, j, k; char c, ch; float f, salary; double d;
Wierszint i, j, k, zadeklarować i zdefiniować zmienne I, J i K, które instruuje kompilator, aby utworzyć zmienną typu int o nazwie i, j, k jest.
Zmienne mogą być inicjowane, jeśli są zgłoszone (określić wartość początkową). Inicjalizacji składa się z równej znaku, po czym stałą ekspresji, jak pokazano poniżej:
type variable_name = value;
Oto kilka przykładów:
extern int d = 3, f = 5; // d 和 f 的声明, 这就是单纯的声明 int d = 3, f = 5; // 定义并初始化 d 和 f byte z = 22; // 定义并初始化 z char x = 'x'; // 变量 x 的值为 'x'
Zdefiniowana bez inicjalizacji: zmienne ze statycznymi czas przechowywania zostaną niejawnie zerowane (wszystkie wartości są 0 bajtów), inne początkowe wartości wszystkich zmiennych są nieokreślone.
C deklaracja zmiennej
Deklaracje zmiennych do zmiennej kompilatora, aby zapewnić rodzaj i nazwę istnienia takich zmiennych kompilator bez konieczności znać kompletne szczegóły sprawy mogą kontynuować dalszą kompilację. Deklaracja zmiennej ma znaczenie tylko w czasie kompilacji, gdy kompilator musi połączyć rzeczywistych deklaracji zmiennych.
Deklarować zmienne są dwa przypadki:
- 1, jest on wymagany do ustalenia miejsca. Na przykład: int oświadczenie w momencie już ustanowił miejsca.
- 2, drugi jest konieczność ustalenia miejsca za pomocą słowa kluczowego extern zadeklarować nazwę zmiennej bez definiowania go. Np extern int A, w którym zmienna może być określona w innym pliku.
- Zewnętrzne kluczowe ile nie określono inaczej są zmienne.
extern int i; //声明,不是定义 int i; //声明,也是定义
Przykłady
Wypróbuj poniższe przykłady, gdzie zmienna została zadeklarowana w głowie, ale z definicji i inicjalizacji w funkcji main:
#include <stdio.h> // 变量声明 extern int a, b; extern int c; extern float f; int main () { /* 变量定义 */ int a, b; int c; float f; /* 初始化 */ a = 10; b = 20; c = a + b; printf("value of c : %d \n", c); f = 70.0/3.0; printf("value of f : %f \n", f); return 0; }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
value of c : 30 value of f : 23.333334
C w lewym wartości (lwartościami prawej) i wartości (Rvalues)
Istnieją dwa rodzaje wyrażeń c:
- Lewa wartość (lwartością): wskazując lokalizację pamięci nazywany jest wartość wyrażenia po lewej (lwartością) ekspresji.Lwartością mogą pojawić się w lewo lub w prawo cesji.
- RValue (RValue): zgodnie RValue Określenie (RValue) odnosi się do wartości około adresów przechowywanych w pamięci.Jego wartość nie jest właściwym wyrazem przypisane, to znaczy, odpowiednie wartości mogą pojawić się po prawej stronie przypisania, ale nie mogą pojawić się po lewej stronie przypisania.
wartości zmiennej w lewo, to może pojawić się po lewej stronie przypisania. literały numeryczne jest właściwa wartość, a zatem nie może być przypisany, nie może pojawić się po lewej stronie przypisania. Poniżej znajduje się ważne stwierdzenie:
int g = 20;
Ale dodaje, nie jest ważne stwierdzenie, wygeneruje błąd kompilacji:
10 = 20;