120 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			120 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Variables | |||
|  | localeTitle: переменные | |||
|  | --- | |||
|  | Давайте обсудим что-то знакомое как переменные. Переменные напоминают ведро. Вы можете положить что-то в него, а затем изменить его после чего, когда это необходимо. В C ++ существует много типов переменных, таких как целые числа, строки, булевы и многие другие. Давайте рассмотрим простую программу с использованием целочисленных переменных. Целые числа хранят целые числа, положительные, отрицательные или нулевые. Целые числа не являются дробными числами, например, 1/2, 1/4 и 1/5. Давайте рассмотрим простую программу, которая использует целое число переменная. | |||
|  | 
 | |||
|  | ```cpp | |||
|  | #include <iostream> 
 | |||
|  |  using namespace std ;  | |||
|  |  int main()  | |||
|  |  {  | |||
|  |     int a;          // Declare an integer variable a  | |||
|  |     a = 5;          // Assign value of 5 to variable a  | |||
|  |     cout << a;      // Display the value of variable a which contains 5  | |||
|  |     return 0;  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | Когда вы выполняете эту программу, вы увидите 5 на экране | |||
|  | 
 | |||
|  | *   Обратите внимание, что в указанной выше программе // помещается после строк. Символ «//» предназначен для комментирования нашего кода. Код после символа «//» не выполняется в строке, где она помещена. | |||
|  |      | |||
|  | *   В строке 5 объявлена простая целочисленная переменная. | |||
|  |      | |||
|  | *   В строке 6 значение 5 присваивается переменной a. Теперь, когда мы используем переменную a в нашей программе, ее значение будет равно 5 если мы не изменим его. | |||
|  |      | |||
|  | *   В строке 7 отобразится значение переменной a и 5 на экране. | |||
|  |      | |||
|  | 
 | |||
|  | ### Объем переменных
 | |||
|  | 
 | |||
|  | Все переменные имеют свою область функционирования, и из этой границы они не имеют своей ценности, эта граница называется областью действия переменной. В большинстве случаев его между фигурными фигурными скобками, в которых объявляется переменная, существует переменная, а не вне ее. Мы изучим классы хранения позже, но на данный момент мы можем разделить переменные на два основных типа, | |||
|  | 
 | |||
|  | \* Глобальные переменные. | |||
|  | 
 | |||
|  | \* Локальные переменные. | |||
|  | 
 | |||
|  | #### Глобальные переменные
 | |||
|  | 
 | |||
|  | Глобальные переменные - это те, которые объявлены и могут использоваться на протяжении всего жизненного цикла программы любым классом или любой функцией. Они должны быть объявлены вне функции main (). Если объявлено только, они могут быть назначены разные значения в разное время в жизни программы. Но даже если они объявлены и инициализированы одновременно за пределами функции main (), тогда также им может быть присвоено любое значение в любой точке программы. | |||
|  | 
 | |||
|  | Пример: Только объявлено, а не инициализировано. | |||
|  | 
 | |||
|  | ```cpp | |||
|  | include <iostream>  | |||
|  |  using namespace std;  | |||
|  |  int x;                // Global variable declared  | |||
|  |  int main()  | |||
|  |  {  | |||
|  |  x=10;                 // Initialized once  | |||
|  |  cout <<"first value of x = "<< x;  | |||
|  |  x=20;                 // Initialized again  | |||
|  |  cout <<"Initialized again with value = "<< x;`  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### Локальные переменные
 | |||
|  | 
 | |||
|  | Локальные переменные - это переменные, которые существуют только между фигурными фигурными скобками, в которых объявлено. Снаружи они недоступны и приводят к ошибке времени компиляции. | |||
|  | 
 | |||
|  | Пример : | |||
|  | 
 | |||
|  | ```cpp | |||
|  | include <iostream>  | |||
|  |  using namespace std;  | |||
|  |  int main()  | |||
|  |  {  | |||
|  |  int i=10;  | |||
|  |  if(i<20)        // if condition scope starts  | |||
|  |   {  | |||
|  |     int n=100;   // Local variable declared and initialized  | |||
|  |   }              // if condition scope ends  | |||
|  |  cout << n;      // Compile time error, n not available here  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | Теперь давайте прочитаем о новом типе переменных- | |||
|  | 
 | |||
|  | #### Статическая переменная
 | |||
|  | 
 | |||
|  | Статические переменные: когда переменная объявляется как статическая, пространство для нее распределяется на время жизни программы. Даже если функция вызывается несколько раз, пространство для статической переменной выделяется только один раз, а значение переменной в предыдущем вызове переносится через следующий вызов функции. Это полезно для реализации сопрограмм в C / C ++ или в любом другом приложении, где необходимо сохранить предыдущее состояние функции. В условиях неспециалиста это означает, что нормальная переменная, выходящая за пределы области, теряет свою идентичность (значение), но статическая переменная имеет глобальную область действия и сохраняет ее значение до конца программы, но в отличие от глобальной переменной нет необходимости объявлять ее при запуске программы. | |||
|  | 
 | |||
|  | #### экстра-
 | |||
|  | 
 | |||
|  | Static - это ключевое слово в C ++, используемое для предоставления специальных характеристик элементу. Статические элементы выделяются хранилищем только один раз в течение жизненного цикла программы в области статического хранения. И у них есть объем до срока службы программы. | |||
|  | 
 | |||
|  | #### КОД-
 | |||
|  | ``` | |||
|  | #include <iostream> 
 | |||
|  |  #include <string>  | |||
|  |  using namespace std;  | |||
|  |   | |||
|  |  void howstaticworks()  | |||
|  |  {  | |||
|  |     static int count = 0;  // static variable  | |||
|  |     cout << count << " ";  | |||
|  |   | |||
|  |     /* value is updated and  | |||
|  |      will be carried to next  | |||
|  |      function calls*/  | |||
|  |     count++;  | |||
|  |  }  | |||
|  |   | |||
|  |  int main()  | |||
|  |  {  | |||
|  |     for (int i=0; i<5; i++)  | |||
|  |         howstaticworks();  | |||
|  |     return 0;  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### Попробуйте сами
 | |||
|  | 
 | |||
|  | просто скопируйте код и вставьте его в указанную ссылку. Запуск на IDE-https://ideone.com/ | |||
|  | 
 | |||
|  | Вывод: 0 1 2 3 4 | |||
|  | 
 | |||
|  | Вы можете видеть в приведенной выше программе, что счетчик переменных считается статическим. Таким образом, его значение переносится через вызовы функций. Счетчик переменных не получает инициализацию за каждый раз, когда вызывается функция. | |||
|  | 
 | |||
|  | Давайте дадим тот же код попробовать, удалив «статическое» ключевое слово и угадав вывод и сравним его с одним из IDE. Статичность теперь преобразуется в обычную переменную |