Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 10.12.2018
Сообщений: 27

Какие параметры принимает функция main?

30.12.2018, 14:39. Показов 4558. Ответов 72
Метки main (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, какие параметры может принимать функция main() в c++, согласен, много статей на эту тему, но я не могу понять практического применения этих параметров, кому не лень пожалуйста ответьте двумя строчками, что за такие аргументы argc, argv и зачем они нужны???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.12.2018, 14:39
Ответы с готовыми решениями:

Функция не принимает параметры
Есть код: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h> struct buffer{ int ms; char...

Функция принимает в параметры массив и сжимает его
Написать функцию которая принимает в параметры массива и сжимает его путем сложения разных соседних местами, заполнив свободные места...

Функция принимает в параметры коефициенты квадратного уравнения и возращает сумму его корней
Нужно написать функцию которая принимает в параметры коефициенты квадратного уравнения и возращает сумму его корней.Заранее спасибо

72
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.01.2019, 22:04
Студворк — интернет-сервис помощи студентам
Господа! Чегой-то я совсем запутался. О чем идет речь?
Есть язык Си. У него есть тип данных char. В массивах этого типа может быть все что угодно. Включая нули.
Но вместе с самим языком предлагается библиотека функций, с этими массивами работающая. strlen, strcat, strtok ....И эта библиотека придумана так, что массив чаров должен иметь нуль на конце. (для пущей острастки названный ТЕРМИНАЛЬНЫМ)
Не нравится - не ешь. Придумай себе другую библиотеку. Можно было бы отдельно и длину задавать. Дело хозяйское. А хозяин - это тот, кто вам эту библиотеку предложил.
Возвращаемся к баранам. К argc, argv. Тут создатели решили перестраховаться. И дали 2 конца. argc - количество и "терминальный" NULL. Что (а) - грамотно. (б) - дешево. А Си - это тот еще скупердяй! За что ему спасибо.
Другие программы и библиотеки используют другие символы для своих нужд. Но это же совершенно ихнее дело! Ихнее, и тех, кто эти библиотеки пользует.
Можно использовать, скажем, символ 'A'. А когда придет пора этот символ обработать, как обычный, придумать способ экранирования. типа '\A'. Именно по такому пути пошел юный Майкрософт. В качестве управляющего символа разделения директорий он использовал сам экран ('\')!

Добавлено через 7 минут
Тьфу, не дописал!
Фантазии его создателей можно только удивляться. Поскольку есть еще и другие средства обработки строк, то я встречал такие чудовища, как "\\\\\\" (8 раз), чтобы в итоге получился один обратный слэш.
Но это я отвлекся, простите.
Резюме. Все символы ANSI в один прекрасный момент могут кому-то понадобится. Но к самим символам это не имеет ни-ка-ко-го отношения.
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.01.2019, 01:14
Цитата Сообщение от Байт Посмотреть сообщение
А Си - это тот еще скупердяй! За что ему спасибо.
Язык написанный раздолбаями для раздолбаев программистами для программистов (возможны любые комбинации. Их немного и каждый может насладиться перебором самостоятельно или в кругу друзей).
Да уж. Люди написали компилятор на ассемблере. Разве можно их винить после такого?
Байт, Вы абсолютно правы в том, что массив и с-строка, это множество и подмножество. То есть, не одно и то же. Однако леший его ведает как, какая Ось сегодня, да и в будущем будет передавать. Я бы оставил приоритет за argc. Хотя это и даёт возможность задавать одним массивом кучу С-строк (splited by null). Забавно всё это. Но не наказуемо. Это ещё не самое смешное.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.01.2019, 06:30
Цитата Сообщение от IGPIGP Посмотреть сообщение
Да уж. Люди написали компилятор на ассемблере. Разве можно их винить после такого?
Ну вообще то очевидно что первый компилятор фортрана был написан тоже на ассемблере. А первый ассемблер как ни крути но напрямую на машкоде.

Добавлено через 2 минуты
Цитата Сообщение от IGPIGP Посмотреть сообщение
программистами для программистов
А если быть точнее то геймерами, которые хотели крутых FPS, но для этого не хватало оси на крутое железо.
А вот потом уже Страуструп сделал из этого язык для себя любимого.

Добавлено через 4 минуты
Цитата Сообщение от IGPIGP Посмотреть сообщение
Я бы оставил приоритет за argc. Хотя это и даёт возможность задавать одним массивом кучу С-строк (splited by null).
Буферов по любому будет 2 - массив самих символов и массив указателей на начало. При этом поскольку множество множеств это тоже множество, то в принципе все это можно сделать инстанцированием одного шаблона. А поскольку строка должна быть нуль-терминатед то запихнуть в конец массива строк nullptr будет проще чем не запихнуть.
0
 Аватар для COKPOWEHEU
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,080
09.01.2019, 10:27
Цитата Сообщение от Байт Посмотреть сообщение
Именно по такому пути пошел юный Майкрософт. В качестве управляющего символа разделения директорий он использовал сам экран ('\')!
Я где-то слышал другую версию. Изначально они решили сэкономить и отказались от директорий: все файлы лежали в корне и только там, то есть проблем с разделителем не было никаких. Далее они решили использовать в качестве обозначения ключей слеш '/' вместо юниксового минуса '-'. Пока что проблем нет: используйте что хотите. А вот когда появились каталоги, для их разделения пришлось использовать что осталось - бэкслеши '\'. А может просто выбрали редко используемый символ. Причем у самих майкрософов проблем все еще не было, они появились при портировании языка Си, где бэкслеш использовался в качестве управляющего символа. К тому же Си еще и регистро-зависимый.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А если быть точнее то геймерами, которые хотели крутых FPS, но для этого не хватало оси на крутое железо.
Какие еще fps в древних текстовых играх? Нет, язык Си писался специально для ядра UNIX. Точнее, модифицировался из языка В.
И, кстати, Страуструп тут ни при чем, речь в данном случае пока что про Си, а не про С++.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.01.2019, 10:36
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Какие еще fps в древних текстовых играх?
Самые обычные Asteroids. Кстати так о птичках первая в мире компутерная игруха SpaceWar!, зарелизенная в 1962-ом году под PDP-1, имела нехилый такой графоний 1024x1024, до чего ПК доросли только в середине 0-ых (ище бы млин - кто им туда на персоналки телевизер от радара СПРН даст?).
А у этих игроманов аж целый PDP-11 был, но один на весь офис. Поэтому решили приспособить погеймится пылившийся в углу PDP-7 к которому оси не было.
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.01.2019, 11:05
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А вот потом уже Страуструп сделал из этого язык для себя любимого.
Он для них (С-проггеров) сделал. Поэтому песня:
"Я его слепила из того, что было. А потом, что было, то и полюбила"
Это про него, них... и про нас. Любимых, естественно.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Буферов по любому будет 2
Любая Ось - женское начало. Это - да. Сейчас придут модераторы - расскажут нам о терминаторах. Да благословит всемогущий их ангельское терпение.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.01.2019, 11:21
Цитата Сообщение от IGPIGP Посмотреть сообщение
Он для них (С-проггеров) сделал.
Ну вообще насколько гласит официяльная история привык он в Европах моделить процессы на симулах. А когда приехал в Америки там был только Си а мула там давно заменили эти как их шайтан-машины всякие в общем. А работа у него была моделить там всякие загруженности каналов АТС и т.п. фичи для телефонии. Вот и порешил мула на кебаб пустить и вкусняшку эту к Си прикрутить в первую очередь для собственного пользования. Но какой кебаб без хароших генацвале? А им такой кебаб тоже понравился и даже начальству. И сказал ему главный генацвале Бел Лабса - создай такой штука чтобы топ-кодерам не надо было километры говнокода клепать там где это может компилятор копипастить.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
09.01.2019, 11:56
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Я где-то слышал другую версию. Изначально они решили сэкономить и отказались от директорий: все файлы лежали в корне и только там, то есть проблем с разделителем не было никаких. Далее они решили использовать в качестве обозначения ключей слеш '/' вместо юниксового минуса '-'. Пока что проблем нет: используйте что хотите. А вот когда появились каталоги, для их разделения пришлось использовать что осталось - бэкслеши '\'
Такая глубокая древность, что даже я не уверен... Но моя версия такова. Не было ни Юникса, ни Си, а были такие компики с 8-дюймовыми дискетами на 256 Кб (кажется), в дополнение к которым давался кассетный магнитофон. И царила там такая Ось - CPM (не слыхали?) Да, все файлы лежали в корне (а где ж еще?). Программы имели ключи. И эти ключи, да, прямым слэшем задавались. Причем можно было без пробелов. То есть сам слэш был за одно и разделителем.
Персональные компьютеры (ПК, PC) под маркой XT (не путать с Windows-XP) появились позже. 640К оперативки, винт 10-20 Мб, Мегафлоп скорости. Юная MS тут же подсуетилась и выпустила под эту чудо DOS 2.0. Но Юникс к тому времени уже был, и многое показал, так что этот DOS выглядел как несколько урезанный UNIX. Там даже конвейеры были (реализованные через файлы) и потоки ввода-вывода с перенаправлением.
Но MS страстно желала сидеть на двух стульях и не терять преемственности с CPM. Вот так эти обратные слэши и появились...
Повторяю, Все это не более чем мое представление о давно минувших временах и не претендует на научную точность.

Добавлено через 4 минуты
Цитата Сообщение от Байт Посмотреть сообщение
Юная MS тут же подсуетилась и выпустила под эту чудо DOS 2.0.
Мнится мне, что до этого на этих чудо-XT пользовалась та же CPM... Но тут все уплывает в тумане былого...
1
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.01.2019, 12:06
Цитата Сообщение от Байт Посмотреть сообщение
Мнится мне, что до этого на этих чудо-XT пользовалась та же CPM... Но тут все уплывает в тумане былого...
Не. Мамаша гейтса вовремя подсуетилась и IBM заказал Билли ось еще для первого свого PC который еще не разу не XT. А тот не долго думая прикупил ОСь в соседнем универе за 50к (как понял это был порт каких о фич юникса на СPM), кострировал в гараже напильником так чтобы это невпихуемое впихнулась и закатил IBM-у сцену что ось нужно продавать не авторские права сразу а в составе компа по 100 баксов за копию. А поскольку сроки с выпуском на рынок готового кулькулятора уже во всю горели и никакой другой оси у IBM адаптированной к этому чуду техники не было пришлось согласится.
Цитата Сообщение от Байт Посмотреть сообщение
640К оперативки, винт 10-20 Мб, Мегафлоп скорости
Ну да. не хило так. примерно как у компа предыдущего поколения занимающего 4 шкафа, только флопсов и винта раза от 4-х поболе. И все это на одного человека а не на кучу терминалов.
2
725 / 224 / 73
Регистрация: 01.03.2011
Сообщений: 654
09.01.2019, 12:14
Цитата Сообщение от Байт Посмотреть сообщение
Не было ни Юникса, ни Си, а были такие компики с 8-дюймовыми дискетами на 256 Кб (кажется), в дополнение к которым давался кассетный магнитофон. И царила там такая Ось - CPM (не слыхали?)
Память вас подводит. Юних старше CPM на 3-5 лет. А Сишечка старше Юникса примерно на год.
2
09.01.2019, 12:36

Не по теме:

Цитата Сообщение от prik Посмотреть сообщение
Память вас подводит.
Не исключено. Вопросами истории специально не занимался. Как-то вот так сложилось в голове на чисто бытовом уровне.

0
09.01.2019, 12:44

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Но какой кебаб без хароших генацвале?
Это да. Дело было под рождество, я думаю. :)

0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
07.11.2019, 10:28
Цитата Сообщение от prik Посмотреть сообщение
Юних старше CPM на 3-5 лет. А Сишечка старше Юникса примерно на год.

Не по теме:

Если верить автору, то название Си он придумал не раньше 1971 и не позднее 1973, уже на PDP-11
https://www.bell-labs.com/usr/dmr/www/chist.html
А первую UNIX для 18-битной DEC PDP-7 Thompson написал в 1968-1969, используя макроассемблер для другой машины.
a.out - "assembler output" - зашивка ещё томпсоновская.

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.11.2019, 10:28

как мне понять что принимает моя функция какие значения?
как мне понять что принимает моя функция какие значения?????????????????????? #pragma comment (lib, "BrickWall.lib") //...

Какие параметры принимает функция IntRect
Пример : Sprite sp; sp.setTextureRect(IntRect( что именно мужно здесь написать , чтобы вырезать кусок из квадратов длинной 200px и...

Определить, какие параметры принимает функция
Читаю книгу по C# и БД и не могу понять что эти строчки значят OleDbConnection connection = CreateConnection(); ...

Каково назначение метода Split и какие параметры он принимает?
Обьясните пожалуйста, что делает этот метод для обьекта класс String, какие параметры он принимает и какие параметры нужно нам туда...

Где можно посмотреть какие параметры принимает метод RSA
Можете скинуть сайт, на котором можно посмотреть как пользоваться методом RSA библиотеки openssl. Какие параметры принимает метод, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
73
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru