СПРОСИ ПРОФИ
👍
+1
👎 13

Программирование

Чем отличается простая переменная от параметра функции? Я смотрел в интернете, вроде понял, но все равно их явное различие понял не до конца. Простым языком, в чем же различие?

программирование обучение     #1   19 дек 2021 12:49   Увидели: 50 клиентов, 74 специалиста   Ответить
👍
0
👎 0

Краткий ответ — областью видимости и местом применения.
Развернутый ответ — ниже:
Переменная — это общее понятие. Параметр функции — это тоже переменная. Любая переменная (включая параметр функции) — это поименованная ячейка памяти. В свою очередь, эти переменные бывают: 1) локальные (область видимости — от момента её объявления до конца блока { } в котором она объявлена); 2) параметры функций (та же переменная, инициализирующая в момент вызова функции, и её область видимости — всё тело функции); 3) поля класса (в ООП); 4) глобальные переменные (в структурном программировании).

👍
0
👎 0

Поля класса — это НЕ переменные, это информация для компилятора для автоматического неявного объявления переменных — членов переменной — объекта класса (кстати, структуры тоже, что же Вы ограничились только классом?) в момент создания этой переменной — объекта.

👍
0
👎 0

1 отличие — с точки зрения компилятора параметр функции объявляется в составе заголовка функции — в списке формальных параметров (в круглых скобках), тогда как обычная переменная объявляется либо в глобальной области, либо в фигурных скобках тела какой-либо функции
2 отличие — с точки зрения операционной системы память для параметра функции выделяется в момент выделения памяти для потока функции, хотя и внутри сегмента данных этой функции наравне с обычными переменными, которые объявляются в теле этой функции (за исключением статиков), тогда как обычные переменные становятся доступны только после оператора их объявления
3 отличие — инициализация параметров функции происходит неявно, исключительно аргументами из вызова этой функции (или её шаблона) или заданными в объявлении значениями по умолчанию, компилятор без программиста сам как бы «дописывает» код инициализации в операторе вызова. Обычные переменные инициализируются исключительно явно правым операндом операции присвоения или инициализаторами — из списка инициализации или при синтаксисе вызова конструктора для переменной.

Задайте свой вопрос по программированию
профессионалам

Сейчас онлайн 75 репетиторов по программированию
Получите ответ профи быстро и бесплатно

Другие вопросы на эту тему:

👍
0
👎 018

Программирование на Си: как отсортировать двунаправленный список?   18 ответов

Здравствуйте. Помогите, пожалуйста, с программированием.
В программе есть двунаправленный список:
struct l2
{
char*name;
char*ext;
l2*next;
l2*prev;
};
Его нужно отсортировать по полю name. Как это сделать?
Точнее, основной вопрос в том, как поменять местами два элемента списка. Если это получится, дальше справлюсь.
Заранее спасибо за помощь.
  16 июн 2012 19:50  
👍
0
👎 020

Линейное программирование или матан   20 ответов

Думаю над 4-ыми номерами вот этих вариантов контрольной работы (вуз, честно говоря, не помню)
  26 ноя 2019 16:11  
👍
0
👎 02

Линейное программирование   2 ответа

Существуют ли методы решения задач линейного программирования на множестве натуральных чисел
  19 дек 2017 10:15  
👍
+2
👎 20

Slope error, МНК   0 ответов

Люди добрые, объясните мне, пожалуйста, чем slope error отличается от standard error in slope
Речь идёт, как мне кажется, о среднеквадратическом отклонении от тренда
Среднеквадратическое отклонение помогает определить наиболее подходящую линию тренда. Близость его к нулю означает низкую степень соответствия, близость к единице − высокую, вполне достоверную линию тренда.
С этой целью строится t-статистика: , где – среднее арифмети-ческое…
  10 янв 2012 03:23  
👍
0
👎 012

Обьясните   12 ответов

почему две — тысячИ, а пять — тысяч? падеж, вроде, один. какая тут закономерность и как это сделать алгоритмом?
ASK.PROFI.RU © 2020-2024