Korzystanie z globalnej tablicy w C ++

Korzystanie z globalnej tablicy w C ++

Prosta deklaracja krótkiej tablicy, która zawiera jej definicję, można zadeklarować w dowolnym zakresie w C ++ w następujący sposób:

char ch [] = „a”, „b”, „c”, „d”, „e”;

To jest szereg znaków, o których nazwa to CH. Literał macierzy jest przykładem listy inicjalizatora.

Ta sama tablica można zadeklarować i zainicjować w następujący sposób, w zakresie funkcji lub zagnieżdżonym zakresie lokalnym, ale nie w globalnym zakresie:

Char Ch [5];
CH [0] = „A”;
CH [1] = „B”;
CH [2] = „C”;
CH [3] = „D”;
CH [4] = „E”;

Jeśli ten segment kodu zostanie wpisany w zakresie globalnym, kompilator wyda pięć komunikatów o błędach dla pięciu linii przypisania. Jednak tablicę można zadeklarować bez inicjalizacji w zakresie globalnym, a następnie przypisano wartości w zakresie funkcji (lub innych rozszczepieniach), jak pokazuje następujący program:

#włączać
za pomocą przestrzeni nazw Std;
Char Ch [5];
int main ()

CH [0] = „A”;
CH [1] = „B”;
CH [2] = „C”;
CH [3] = „D”;
CH [4] = „E”;
powrót 0;

Globalny zakres ma oświadczenie „char ch [5];”. Przypisanie wartości zostało wykonane w funkcji C ++ Main (). Główna funkcja C ++ jest nadal funkcją.

Są to zasady, jak korzystać z tablicy w zakresie globalnego, zakresu funkcji i zagnieżdżonego zakresu lokalnego (lub dowolnego innego zakresu):

1. Tablicę można zadeklarować za pomocą inicjalizacji wartości praktycznych w jednym stwierdzeniu w dowolnym zakresie (globalna, funkcja, zagnieżdżona luneta lokalna).

2. Tablicę można zadeklarować bez inicjalizacji praktycznych wartości w zakresie globalnym, a następnie przypisać praktyczne wartości w zakresie funkcji lub zagnieżdżonym zakresie lokalnym.

3. Tablicę można zadeklarować bez inicjalizacji praktycznych wartości w zakresie funkcji lub zagnieżdżonego zakresu lokalnego i przypisano praktycznych wartości w tym samym zakresie lokalnym.

Zasady te dotyczą również typów skalarnych (fundamentalnych). Reszta tego artykułu zaczyna się od zilustrowania deklaracji i przypisania praktycznych wartości typów podstawowych w globalnych i innych zakresach (funkcja i lokalna). Następnie następuje ilustracja deklaracji i przypisania praktycznych wartości typu tablicy w globalnych i innych zakresach (funkcja i lokalna). Liczba całkowita (int) jest wykorzystywana jako przykład dla typów podstawowych. Powyższe trzy zasady są wykazane dla liczby całkowitej i tablicy.

Deklaracja typu liczb całkowitych z globalnymi i innymi zakresem

W tej sekcji reguły są wykazane z typem liczby całkowitej.

Pierwsza zasada:

Liczbę całkowitą można zadeklarować za pomocą inicjalizacji wartości praktycznej w jednym stwierdzeniu w dowolnym zakresie (globalna, funkcja, zagnieżdżona luneta lokalna). Poniższy program ilustruje to z trzema różnymi zmiennymi całkowitymi:

#włączać
za pomocą przestrzeni nazw Std;
int int1 = 1;
int main ()

Cout<< int1 <int int2 = 2;
Cout<< int2 <if (1 == 1)
int int3 = 3;
Cout<< int3 <
powrót 0;

Wyjście to:

1
2
3

Zagnieżdżony zakres lokalny (blok) jest tym początkiem od kwalifikacji IF.

Druga zasada:

Liczbę całkowitą można zadeklarować bez inicjalizacji wartości praktycznej w zakresie globalnym, a następnie przypisać praktyczną wartość w zakresie funkcji lub zagnieżdżonego zakresu lokalnego. Poniższy program ilustruje to jedną zmienną liczbową:

#włączać
za pomocą przestrzeni nazw Std;
int inter;
int main ()

Cout<< inter <inter = 20;
Cout<< inter <if (1 == 1)
inter = 30;
Cout<< inter <
powrót 0;

Wyjście to:

0
20
30

Gdy liczba całkowita jest zadeklarowana bez przypisania, liczba całkowita przyjmuje domyślną wartość zero. W takim przypadku zero nie jest wartością praktyczną.

Trzecia zasada:

Liczbę całkowitą można zadeklarować bez inicjalizacji praktycznej wartości w zakresie funkcji lub zagnieżdżonego zakresu lokalnego i przypisał praktyczne wartości w tym samym zakresie lokalnym. Poniższy program ilustruje to z dwiema różnymi zmiennymi całkowitymi:

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int int2;
int2 = 2;
Cout<< int2 <if (1 == 1)
int3;
int3 = 3;
Cout<< int3 <
powrót 0;

Wyjście to:

2
3

Poniższy program nie zostanie skompilowany, a kompilator wyda komunikat o błędzie:

#włączać
za pomocą przestrzeni nazw Std;
int inter;
inter = 5;
int main ()

Cout<< inter <powrót 0;

Problemem jest globalny segment kodu zakresu:

int inter;
inter = 5;

Drugie stwierdzenie nie jest dozwolone w tym kontekście.

Deklaracja typu tablicy z globalnymi i innymi zakresem

Pierwsza zasada:

Tablicę można zadeklarować za pomocą inicjalizacji wartości praktycznych w jednym stwierdzeniu w dowolnym zakresie (globalna, funkcja, zagnieżdżona luneta lokalna). Poniższy program ilustruje to z trzema różnymi tablicami:

#włączać
za pomocą przestrzeni nazw Std;
char cH1 [] = „a”, „b”, „c”, „d”, „e”;
int main ()

Cout<< ch1 <char cH2 [] = „f”, „g”, „h”, „i”, „j ';
Cout<< ch2 <if (1 == 1)
char cH3 [] = „k”, „l”, 'm', 'n', 'o';
Cout<< ch3 <
powrót 0;

Wyjście powinno być:

Abcde
Fghij
Klmno

Zagnieżdżony zakres lokalny (blok) jest tym początkiem od kwalifikacji IF.

Druga zasada:

Tablicę można zadeklarować bez inicjalizacji wartości praktycznych w zakresie globalnym, a następnie przypisać praktycznych wartości w zakresie funkcji lub zagnieżdżonym zakresie lokalnym (lub dowolnym innym zakresie). Poniższy program ilustruje to jedną tablicą:

#włączać
za pomocą przestrzeni nazw Std;
Char Ch [5];
int main ()

Cout<CH [0] = 'f';
CH [1] = „g”;
CH [2] = „H”;
CH [3] = „I”;
CH [4] = „J”;
Cout<if (1 == 1)
CH [0] = „K”;
CH [1] = „l”;
CH [2] = „M”;
CH [3] = 'n';
CH [4] = „o”;
Cout<
powrót 0;

Wyjście powinno być:

„„ „” „”
Fghij
Klmno

Gdy postać jest zadeklarowana bez przypisania, postać przyjmuje domyślną wartość „(bez znaku). W takim przypadku „nie jest wartością praktyczną. Jest pięć ”w sprawie globalnej.

Uwaga: Przypisanie może być wykonane tylko w ten sposób bez inicjalizatora.

Uwaga: W przypadku tablic, gdy tablica jest zadeklarowana bez inicjalizacji wartości praktycznych w funkcji lub zagnieżdżonym zakresie, wartości domyślne mogą być dowolne. Wartości domyślne są tylko ”dla globalnego przypadku. Ta arbitralna funkcja dotyczy również tablicy liczb całkowitych.

Trzecia zasada:

Tablicę można zadeklarować bez inicjalizacji praktycznych wartości w zakresie funkcji lub zagnieżdżonego zakresu lokalnego i przypisano praktycznych wartości w tym samym zakresie lokalnym. Poniższy program ilustruje to z dwiema różnymi tablicami:

#włączać
za pomocą przestrzeni nazw Std;
int main ()

Char Ch2 [5];
CH2 [0] = 'f';
CH2 [1] = „g”;
CH2 [2] = „H”;
CH2 [3] = „i”;
CH2 [4] = „J”;
Cout<< ch2 <if (1 == 1)
Char CH3 [5];
CH3 [0] = „k”;
CH3 [1] = „l”;
CH3 [2] = „M”;
CH3 [3] = 'n';
CH3 [4] = „o”;
Cout<< ch3 <
powrót 0;

Wyjście powinno być:

Fghij
Klmno

Poniższy program nie zostanie skompilowany, a kompilator wyda niektóre komunikaty o błędach:

#włączać
za pomocą przestrzeni nazw Std;
char cH1 [5];
CH1 [0] = „A”;
CH1 [1] = „B”;
CH1 [2] = „C”;
CH1 [3] = „D”;
CH1 [4] = „E”;
int main ()

Cout<< ch1 <powrót 0;

Problemem jest globalny segment kodu zakresu:

char cH1 [5];
CH1 [0] = „A”;
CH1 [1] = „B”;
CH1 [2] = „C”;
CH1 [3] = „D”;
CH1 [4] = „E”;

W tym kontekście instrukcje przypisania nie są dozwolone.

Wniosek

Są to zasady, jak korzystać z tablicy w zakresie globalnego, zakresu funkcji i zagnieżdżonego zakresu lokalnego (lub dowolnego innego zakresu):

1) Tablica można zadeklarować za pomocą inicjalizacji wartości praktycznych w jednym stwierdzeniu, w dowolnym zakresie (globalny, funkcja, zagnieżdżony zakres lokalny).

2) Tablica można zadeklarować bez inicjalizacji wartości praktycznych, w zakresie globalnym, a następnie przypisano praktycznych wartości, w zakresie funkcji lub zagnieżdżonym zakresie lokalnym (lub dowolnym innym zakresie).

3) Tablica można zadeklarować bez inicjalizacji wartości praktycznych, w zakresie funkcji lub zagnieżdżonego zakresu lokalnego, i przypisano praktycznych wartości w tym samym zakresie lokalnym.