Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2008, 11:20   #1
7karandashik7
 
Регистрация: 27.06.2008
Сообщений: 2
По умолчанию чем пераметр переменной отличается от параметров значения

ОЧЕНЬ ВАЖНЫЙ ВОПРОС!!!!!ЗДАЮ ЭКЗАМЕН....препод спрашивает :
важный вопрос: чем пераметр переменной отличается от параметров значения
7karandashik7 вне форума Ответить с цитированием
Старый 04.07.2008, 12:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тем что в параметр-переменную нужно обязательно передавать переменную, а в параметр-значение можно и константу передать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.04.2010, 23:36   #3
l4h
Новичок
Джуниор
 
Регистрация: 11.04.2010
Сообщений: 3
По умолчанию

Странный вопрос. =)
Конечно хотелось бы узнать для какого языка это критично)
например на языке программирования Си или С++ я такого не встречал =)
Самое главное при передаче параметра чтобы типы передаваемого значения и указанный тип функции совпадали(что вы с ним дальше делать будете - дело ваше)
По моему так.

Так в каком языке программирования столь жестко все ограничено?

Пример:

Код:
int main(void){
    char buff[]="Привет, коллеги!";
    char buff1[100];
    strcpy(buff1,buff); //не помню точно, в какой последовательности параметры идут
    strcpy(buff1,"Привет, коллеги!");
    return 0;
}
В данном примере я использовал функцию которая копирует строку buff в строку buff1, двумя различными способами(хотя в принципе они одинаковы). компилятор скомпилирует этот код и не скажет не слова =)
Прототип функции int strcpy(char *dest,const char *source)
Возвращает количество скопированных символов, копирует символы строки source в строку dest, заменяя её.
P.S. Не рекомендую использовать эту функцию т.к. нет защиты от переполнения, т.е. если копируемая строка больше чем размер предназначенной для нее переменной произойдет переполнение буфера- ваша программа залезет в чужое адресное пространство, в большинстве случаев это вызывает крах программы, хорошо если только одной.

Вот как-то так =)
Или я что-то не догоняю?

Последний раз редактировалось l4h; 12.04.2010 в 00:11.
l4h вне форума Ответить с цитированием
Старый 12.04.2010, 10:38   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Любой из формальных параметров подпрограммы может быть параметром-значением, либо параметром-переменной, либо параметром-константой. Если формальный параметр объявлен как параметр-переменная, то при вызове подпрограммы ему должен соответствовать фактический параметр в виде переменной нужного типа; если формальный параметр объявлен как параметр-значение или параметр-константа, то при вызове ему может соответствовать произвольное выражение. Если параметр определен как параметр-значение, то перед вызовом подпрограммы это значение вычисляется и в подпрограмму передается копия фактического параметра. Т.е. при изменении значения изменится только копия, а сам фактический параметр останется прежним. Если параметр определен как параметр-переменная, то в подпрограмму передается сама переменная, точнее передается адрес переменной. Изменение параметра-переменной приведет к изменению самого фактического параметра.
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем отличается Tasm от Masm veter_s_morya Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 17 21.07.2008 16:55
Чем отличается кампилятор от интерпретатора prikolist Помощь студентам 1 20.06.2008 12:16
Чем отличается AX от BX? veter_s_morya Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 05.05.2008 16:50
Чем отличается Free от FreeInstance? andrey4623 Общие вопросы Delphi 5 27.01.2008 10:18
Работа с файлами (создание, удаление, открытие, связываение с переменной, очищение памяти переменной) Arkuz Общие вопросы Delphi 12 25.09.2007 20:47