Другие языки программирования и технологии
помогите разобраться с++
написал прогу чтоб попробовать функцию return, возвращает значение куда? что меняется если после нее вводить переменные программы там или обычные чилса? и зачем это нужно? вот вводил нечего не менялось. или вообще что должно меняться? в общем я хочу разобраться зачем нужна return, в каких случаях её используют. помогите разобраться
return - возвращает результат работы функции. Советую Вам прочитать побольше про то что такое функции и для чего они нужны.
Если говорить грубо, то вы создаете черный ящик, в который посылаете какие-то данные, и что-то хотите иметь на выходе.
К примеру, вам в программе требуется кучу раз найти среднее значение элементов массива.
Вы можете искать их каждый раз записывая цикл заново, а можете написать функцию которая принимает указатель на массив на входе и выдает вам результат на выходе.
float arr_mean(float * arr, int len){
float res = 0;
for(int i = 0; i < len; i++ ){
res += arr[ i ] / len;
}
return res; //в этом месте функция прекращает работу и отправляет результат назад
}
теперь если вы напишете m = arr_mean(arr, l);
то в переменной m окажется среднее арифметическое значение массива arr длинны l
return же показывает что именно должно возвратиться из вашего "черного ящика"
Если говорить грубо, то вы создаете черный ящик, в который посылаете какие-то данные, и что-то хотите иметь на выходе.
К примеру, вам в программе требуется кучу раз найти среднее значение элементов массива.
Вы можете искать их каждый раз записывая цикл заново, а можете написать функцию которая принимает указатель на массив на входе и выдает вам результат на выходе.
float arr_mean(float * arr, int len){
float res = 0;
for(int i = 0; i < len; i++ ){
res += arr[ i ] / len;
}
return res; //в этом месте функция прекращает работу и отправляет результат назад
}
теперь если вы напишете m = arr_mean(arr, l);
то в переменной m окажется среднее арифметическое значение массива arr длинны l
return же показывает что именно должно возвратиться из вашего "черного ящика"
Это не функция, а оператор. Он присваивает имени функции значение содержащегося в нем выражения и завершает выполнение функции. Вот и все.
Кидай сюда http://pastebin.com/
а здесь если че выводи адрес с пробелами, если на проверку модератором пошлет, а то еще те модераторы блондинистые у нас
а здесь если че выводи адрес с пробелами, если на проверку модератором пошлет, а то еще те модераторы блондинистые у нас
Осталось только напомнить о времени жизни объекта. Данные внутри функции актуальны только момент видимости функции. Т. е пока функция выполяеться мы можем обращаться к ее переменным, как только вышли из функции, разрешаться запись в зарезервированную память и после этого данные уже не актуальны, так как могут быть перепесаны программой
int sqr( int v ) { return v*v; } // квадрат числа
int a = 5;
a = sqr( a );
a -> 25
int a = 5;
a = sqr( a );
a -> 25
Похожие вопросы
- Прошу помочь разобраться, пояснить некоторые пункты требования ТИПОГРАФИИ.
- Помогите разобраться, Pascal!
- Пожалуйста помогите разобраться с даним кодом C++. Тема : Односвязание списки
- Программирование. Помогите разобраться с направлениями (Ruby, Java, JavaScript, С++, Python, PHP, QA)
- Помогите разобраться в задаче
- Помогите разобраться с ассемблером
- Corel Draw помогите разобраться, для плоттера мне надо!!!
- Помогите разобраться?
- Создаю интернет-магазин. Помогите разобраться с технической стороной вопроса.
- Помогите разобраться с написанием программы Паскале!