Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Классы памяти




int a;

void func( int a, …)

{

}

// внешняя переменная маскируется

int main(void)

{

int a;

func(a);

{

int a;

}

}

 

Любая переменная или функция относится к какому-либо классу памяти. Класс памяти задается по умолчанию местом объявления переменной в программе или явно, с помощью ключевого слова, которое пишется в начале оператора объявления типа. Класс памяти определяет время жизни и область действия переменной.

Время жизни – время выполнения программы, когда переменная сохраняет свое значение в оперативной памяти.

Область действия –часть программы, где переменная доступна по имени.

 

Класс памяти Как объявить? Область действия Время жизни Обнуление
Extern Глобальная внешняя По умолчанию Вне функции Вся программа Вся программа +  
Auto Автоматическая локальная В блоке Блок Блок -
Register (рекомендованная) В блоке Блок Блок -  
Static Внешняя статическая Все функции со словом static Файл Вся программа +
Static Локальная статическая В блоке со словом static Блок Вся программа +

Обмен данными через внешние переменные

Внешняя переменная доступна из любой части программы, в том числе из другой функции. Использование внешних переменных делает функцию не универсальной, она теряет свою независимость, (//а это основные свойства функций). При широком использовании внешних переменных затруднена отладка программы.

Статические переменные

//Статистическая переменная, объявленная внутри функции, является локальной, но она живет и сохраняет свое значение во время выполнения всей программы, следовательно, вызывая функцию во второй раз, мы можем пользоваться значением статистической переменной полученной в предыдущий раз.

 

void func(void)

{

a b

int a=0;

static int b=0;

cout<<a<<endl<<b<<endl;

a++;

b++;

}

int main(void)

{

for(int i=0;i<5;i++)

func();

return 0;

}


+

7. Программирование ввода-вывода в языке С++ с использованием стандартных объектов потоков cin и cout.

Стандартный ввод/вывод данных через потоки

#include<iostream>

using namespace std;

 

Используем следующие средства:

1) cin – потом ввода (объект класса istream) (этот поток по умолчанию связан с клавиатурой)

2) cout – потом вывода (объект класса ostream) (по умолчанию связан с монитором)

3) cerr – поток вывода сообщений об ошибках (объект класса ostream) (по умолчанию связан с клавиатурой)

4) операция >> - операция извлечения из потока (ввод данных)

5) операция << - операция помещения в поток (вывод данных)

6) методы ввода-вывода

7) манипуляторы

Ввод-вывод данных производится в соответствии с типом данных


Поделиться:

Дата добавления: 2015-01-29; просмотров: 85; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты