Latest web development tutorials

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:

  1. 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.
  2. 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;