Какво в главната (инт argc, знак argv)

Наскоро започнах да уча C ++, и аз не разбирам, защо да вземе 2 аргумента? Един - цяло число, а втората - масив, както и повече памет се разпределя по странен начин, без ново. Откъде идват тези аргументи и защо се използват?

Това командния ред параметри, които могат да бъдат предадени за вашето приложение. Първият аргумент е причината, че вградените масиви в C / C ++ не се съхранява от големината и размера на превода - един начин да се запознаят с него (например, можете да подредите, че последния елемент ще бъде нула, но тя налага някои ограничения).

памет се разпределя по странен начин, без нови

памет се разпределя на друго място, а функция идва само показалеца. Както е в момента има - в момента, в който не трябва да се притеснява. Основното правило, за да се помни - "който разпределя памет, той обикновено го и премахва". В този случай, компилаторът ще въведе всички необходими код, за да разпредели памет и безплатно. Въпреки, че има и малко система може да отпусне.

Как така аргументите?

Например, можете да стартирате програмата,

в този случай, ще има стойност argc 4. argv [1] е равно param1. argv [3] е равно param3. Възниква въпросът, и каква е нулев елемент? и след това името на програмата във формата, в която тя осигурява на операционната система. Това означава, че може да има myprog в черупка, а името с пълен път.

  • Аргументите на основното функцията (): argv и argc
  • Параметри на основната функция (argc, argv)

Можете да зададете, когато програмата започва вътр. аргументи на командния ред.

Първият параметър, argc (аргумент брой) показва броя на аргументите, а вторият параметър, argv (аргумент вектор) директно sozherzhit аргументи се предават при стартиране.

Това аргументи от командния ред. argc - броя, argv - масива на аргументи. Те може да донесе на екрана и да видим какво ще стане. Нулева винаги е името на програмата, а след това - каквото.

Използва се, например, като това: ти напиша нещо за работа с файлове. Когато стартирате програмата, естествено поиска от потребителя да определи пътя на файла, с който да работи. Но това е много по-удобно да стартирате програмата от терминала към вече определен параметър: Админ:

/Documents/file1.txt - в този случай, на самия терминал да добавите името на файла или нещо лесно да се направи. И в Windows можете да влачите и пускате файл към програмата (тук не помня точно как се предава името на файла).

Отново, това е само пример - вие ограничава само вашето въображение.

UPD: докато писане вече отговори))