Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Переменной num меняются местами. Эта операция возможна лишь потому, что как переменная
Num, так и массив ch разделяют одну и ту же область памяти. 1. Вызов функций с указателями В предыдущем примере необязательно было использовать переменную р. Вместо нее при вызове функции f() достаточно использовать переменную i, предварив ее оператором "&" (при Этом, как вы знаете, генерируется адрес переменной i). После внесения оговоренного изменения Предыдущая программа приобретает такой вид. // Передача указателя функции -- исправленная версия. #include <iostream> Using namespace std; void f (int *j); Int main() { Int i; f(&i); cout << i; Return 0; } void f (int * j) { *j = 100; // Переменной, адресуемой указателем j, присваивается число 100. } Передавая указатель функции, необходимо понимать следующее. При выполнении Некоторой операции в функции, которая использует указатель, эта операция фактически Выполняется над переменной, адресуемой этим указателем. Таким образом, такая функция Может изменить значение объекта, адресуемого ее параметром. Во-первых, параметр можно объявить как массив, тип и размер которого совпадает с типом и размером массива, используемого при вызове функции. Этот вариант Объявления параметра-массива продемонстрирован в следующем примере. #include <iostream> Using namespace std; void display(int num[10]); Int main() { int t[10], i; for(i=0; i<10; ++i) t[i]=i; display(t); // Передаем функции массив t. Return 0; } // Функция выводит все элементы массива. void display(int num[10]) { Int i; for(i=0; i<10; i++) cout << num[i] <<' '; } Несмотря на то что параметр num объявлен здесь как целочисленный массив, состоящий из 10 элементов, С++-компилятор автоматически преобразует его в указатель на целочисленное Значение. Необходимость этого преобразования объясняется тем, что никакой параметр в Действительности не может принять массив целиком. А так как будет передан один лишь Date: 2016-07-25; view: 315; Нарушение авторских прав |