[C++] int main()
[C++] int main()
Witam, nie rozumiem czemu się pisze zawsze int main(), znaczy się main jest obiektem integer?
Liczbą całkowitą? Niech to ktoś wyjaśni, bo tego nawet nie ma w Symfonii C++ wyjaśnionego...
Liczbą całkowitą? Niech to ktoś wyjaśni, bo tego nawet nie ma w Symfonii C++ wyjaśnionego...
Każdy program widziany z punktu widzenia systemu jest funkcją, a każda funkcja może zwrócić wynik swojej operacji. Int przed main'em mówi, że po wykonaniu programu zostanie zwrócona do systemu operacyjnego wartość całkowita. Przyjęto iż dobrze wykonany tzn. bezbłędnie działający program, który nie napotkał żadnych problemów w trakcie działania zwraca do systemu operacyjnego wartość 0. Wartość inna od zerowej oznacza iż w programie wystąpiły błędy. Po jej wartości programista może dojść do wniosku gdzie wystąpił błąd w programie. Wartości te nie są z góry ustalone i określa je programista wg. upodobań. Na przykład, gdy program nie będzie mógł otworzyć strumienia odczytu do jakiegoś pliku, można przyjąć iż w tym momencie program zwróci wartość 1. Przy innym błędzie inna wartość itp. itd.
Błagam cię, nie profanuj C++ ! Typy argumentów mogą być DOWOLNE! W funkcji main wygląda to akurat:GrzesiekG pisze:jeśli funkcja ma zwracać typ integer to argumenty na których wykonujemy operacje, a są zadeklarowane w tych nawiasach też muszą być zadeklarowane jako int
Kod: Zaznacz cały
int main(int argc, char *argv[])argc to liczba argumetów do programu, a argv[] to tablica argumetów typu char* , czyli łańcucha znakowego.
Oprócz tego stdlib określa EXIT_SUCCESS i EXIT_FAILURE (odpowiednio 0 i 1).Wartości te nie są z góry ustalone i określa je programista wg. upodobań.
Jak nie zmieniasz explicite zawartości argv to proponuję:olo16 pisze:Kod: Zaznacz cały
int main(int argc, char *argv[])
Kod: Zaznacz cały
char * const argv[]Dodam jeszcze że to co zwróci funkcja main() jest dostępne w systemie operacyjnym jako zmienna środowiskowa ERRORCODE.
Natomiast parametry funkcji main:
int argc, char *argv[]
to odpowiednio:
argc - ilość parametrów lini poleceń wywołania programu
*argv[] - wskaźnik do tablicy zawierającej te parametry.
Wszystko to pochodzi z czasów C (bez ++) i programów konsolowych gdzie parametry wywołania i zmienna środowiskowa ERRORCODE były często wykorzystywane przy pisaniu plików wsadowych powłoki *.bat
Przyznam się że nadal zdarza mi się z tego korzystać. W Windows - nawet XP - można wiele rzeczy sobie uprościć pisząc odpowiednie skrypty *.bat lub *.cmd. A jak zabraknie polecenia powłoki to można szybko skrobnąć programik w C[++]
Natomiast parametry funkcji main:
int argc, char *argv[]
to odpowiednio:
argc - ilość parametrów lini poleceń wywołania programu
*argv[] - wskaźnik do tablicy zawierającej te parametry.
Wszystko to pochodzi z czasów C (bez ++) i programów konsolowych gdzie parametry wywołania i zmienna środowiskowa ERRORCODE były często wykorzystywane przy pisaniu plików wsadowych powłoki *.bat
Przyznam się że nadal zdarza mi się z tego korzystać. W Windows - nawet XP - można wiele rzeczy sobie uprościć pisząc odpowiednie skrypty *.bat lub *.cmd. A jak zabraknie polecenia powłoki to można szybko skrobnąć programik w C[++]