Int SummaAandB(int A,int B)

{ // функция возвращает сумму переменных A и B

return A+B; // возвращаемое значение

}

void PrintName(void){ //функция выводит на экран имя Serg 10 раз по одному

//в строке, не возвращает и не принимает никаких значений

for(int t=0;t<10;t++)

printf(“Serg\n”);

}

void PrintA(int A){ // функция выводит на экран значение переменной А

printf(“%d”,A);

}

void main(void){

float f=pi(); // вызов функции pi

printf(“pi=%f\n”,f);

int i=SummaAandB(1,3); // вызов функции SummaAandB

printf(“summa(A+B)=%d\n”,i);

PrintName(); // вызов функции PrintName

PrintA(20); // вызов функции PrintA

}

Указатели

В языке Си существует два способа доступа к переменной: ссылка на переменную и использование механизма указателей. Указатель - переменная (указатель) - переменная, предназначенная для хранения адреса в памяти. Указатель - константа - значение адреса ОП.

Определены две операции для доступа к переменным через указатели: " & " и " * ";

операция & - присвоить значение адреса;

операция * - выбрать содержимое из адреса.

Признаком переменной-указателя для компилятора является наличие в описании:

1) типа объекта, для доступа к которому используется указатель;

2) символа * перед переменной:

int var1, *prt;

Такое объявление приводит к появлению переменной var1 типа int и указателя на тип int, т.е. "указатель на целое". Место, выделяемое для него транслятором, зависит от модели памяти (может быть 2 или 4 байта).

Унарная операция & дает возможность присвоить адрес переменной указателю, т.е. у= &х, присваивает адрес х как содержимому переменной указателя у (рис.4.2).

Операцию & можно применять только к переменным и элементам массива. Недопустимы у=&(x+7), &25 .

Унарная операция * воспринимает свой операнд как адрес некоторого объекта и

использует его для выборки содержимого, если у = &х; z = *y; => z = х; (рис4.3)

Указатели могут встречаться в выражениях, как и любая другая переменная. Допустимы

выражения:

*у = 7; - в ячейку с адресом *у занести 7;

*х* = 5; - содержимое с адресом *х увеличить в пять раз;

(*z)++; - добавить 1 к содержимому с адресом *z.

 

 

 
Значение х
 
y

 

 

Рис.4.2.Схема образования ссылки на переменную

 

y
 
Значение х (или *у)

Рис.4.3.Схема извлечения значения по ссылке на переменную

 

Характерно, что указатели можно использовать в арифметических операциях. Например: если - указатель, то операция у++ увеличивает его значение на одну длину типа указателя. Транслятор будет масштабировать приращение адреса в соответствии с типом, заданным в объявлении указателя. После выполнения операции у++, у будет указывать на следующий элемент данного типа. Это свойство в языке Си используется при работе со структурированными данными.

 








Дата добавления: 2016-04-14; просмотров: 428;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.