Article View: pl.comp.lang.c
Article #756Re: argv
From: Marek Kotowski
Date: Fri, 23 Jan 1998 10:34
Date: Fri, 23 Jan 1998 10:34
44 lines
2652 bytes
2652 bytes
Qrczak wrote: > > > 2. main jest jedyna funkcja standardowa w C (chociaz nie > > biblioteczna :-)), ktora mozna wywolac calkowicie > > poprawnie zarowno bez argumentow, jak i z dwoma > > argumentami (nie mowimy tu, rzecz jasna, o funkcjach ze > > zmienna liczba argumentow). > > Nie "wywo³aæ", bo jawnie siê jej nie wywo³uje. Dlatego mo¿e mieæ ró¿n± > liczbê argumentów. To ma byæ wyj±tkowe? Przecie¿ funkcja o nazwie > moja_funkcja te¿ mo¿e mieæ dowoln± liczbê argumentów! Nieprawda. W jezyku C kazda funkcja ma dokladnie okreslona liczbe argumentow. Po to m.in. wprowadzono prototypy, by zapewnic przestrzeganie w modulach poprawnosci wywolywan funkcji, w tym liczby argumentow. Jesli Pan wywola funkcje np. strlen z trzema parametrami dostanie Pan - czy tez powinien Pan dostac - informacje o bledzie (zakladajac, ze do modulu wlaczony jest odpowiedni plik definicyjny). Powtorze: pomijam funkcje ze zmienna liczba argumentow (to inna sprawa). > > Sa jeszcze inne sprawy, zwiazane z inicjowaniem > > argumentow statycznych i otwieraniem strumieni > > standardowych (sa one zalezne od implementacji jezyka C i > > mozna dyskutowac, na ile uprawnione jest wiazanie ich z > > wywolaniem main). > > Nie widzê powodu, ¿eby to by³o wi±zane z wywo³aniem funkcji main. Tu zgoda. Mozna ma ten temat dyskutowac i widziec powod lub nie. Byc moze wszystko polega na podejsciu: czy mowimy o cechach funkcji main, czy otoczenia, ktore ja wywoluje. Na koniec dodam jeszcze jeden argument: w standardzie (mam ksiazke Plaugera & Brodiego) napisano wprost, ze np. argc mozna modyfikowac - zalozenie pozornie zbedne. W koncu co mogloby byc zlego w zmodyfikowaniu liczby przekazywanej przez wartosc? Uznano jednak za wazne to podkreslic, jako ze argc przekazywane jest z zewnatrz, przez byt :-), o ktorym teoretycznie nic nie wiadomo. Pozdrawiam Marek Kotowski
Technical Details
Message-ID:
<34C8723E.5485@imm.org.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!not-for-mailReferences:
<Pine.LNX.3.96.980118170312.17197A-100000@qrnik.knm.org.pl> <34C5278D.10A8@bdk.lublin.pl> <34C5B81A.8C6@imm.org.pl> <Pine.LNX.3.96.980122183153.525B-100000@qrnik.knm.org.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!not-for-mail From: Marek Kotowski <mkot@imm.org.pl> Newsgroups: pl.comp.lang.c Subject: Re: argv Date: Fri, 23 Jan 1998 11:34:38 +0100 Organization: Instytut Maszyn Matematycznych Lines: 44 Message-ID: <34C8723E.5485@imm.org.pl> References: <Pine.LNX.3.96.980118170312.17197A-100000@qrnik.knm.org.pl> <34C5278D.10A8@bdk.lublin.pl> <34C5B81A.8C6@imm.org.pl> <Pine.LNX.3.96.980122183153.525B-100000@qrnik.knm.org.pl> NNTP-Posting-Host: 148.81.238.53 Mime-Version: 1.0 X-Mailer: Mozilla 3.01Gold (Win95; I) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit