🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #984

Re: malloc czy (type *)malloc?

#984
From: Karpierz
Date: Wed, 28 Jan 1998 12:57
62 lines
2975 bytes
Michal Malecki <sektor@zly.kis.p.lodz.pl> napisal
> Marek Kotowski <mkot@imm.org.pl> wrote cos, 
>czego nie moglem zostawic bez odpowiedzi:
[...]
> : 4. Uprzedze od razu argument, ze rzut przy malloc wyjasnia
> :    intencje programisty. Tak sie czasami sadzi, mowiac np, ze.
> 
> :    p = (char *)malloc(100);
> 
> :    wyjasnia, na co alokowana jest pamiec. Jest to chybiony argument,
> :    bo rzecz tu jest w samej nazwie zmiennej wskaznikowej, ktora
> :    powinna wyjasniac nature wskazywanego obiektu. 
> A tu sie zgadza!
> Linijka przez pana zacytowana swiadczy TYLKO I WYLACZNIE o glupocie 
> programujacego. Bo jezeli juz to piszemy albo:
> 
> p = malloc( 100*sizeof (char) );

[...]

To co napisales swiadczy rowniez TYLKO I WYLACZNIE o glupocie
"przedpiscy" /gdzies widzialem uzycie tego potworka :) fajne/
(przepraszam za ostre slowa, ale oko za oko....).
Akurat w kazdym raporcie C czy to K&R czy ANSI stoi jak byk
ze z definicji sizeof (char) == 1 (i ze char jest najmniejsza mozliwa do 
przydzielenia porcja pamieci) bez wzgledu na faktyczny rozmiar (w bitach) 
typu char wiec konstrukcja typu:

p = (char *)malloc(100);

nie swiadczy o zadnej glupocie.
/pisal przeciez juz o tym wyraznie w ktoryms z postingow Gracjan Ziolek, 
a jego bym na Twym miejscu nie posadzal o glupote.../

Mozna dyskutowac na temat konserwencji piszacego, ze moze lepiej 
konsekwentniej bedzie tak jak Ty proponujesz:

p = malloc( 100*sizeof (char) );

ale znajda sie zapewne tacy ktorzy stwierdza ze to glupie bo standard 
wyraznie mowi jw. i ze kazdy to powinien wiedziec i kto wtedy wyjdzie 
na glupka ? Jak myslisz ?

To jest po prostu sprawa stylu i oczywiscie nadaje sie do dyskusji,
a nie kwestia czyjejs glupoty.

Bardzo dobre podejscie pokazal moim zdaniem Pan Kotowski poniewaz
jest uniwersalne:

p = malloc (100 * sizeof (*p));

Ma tylko moze ta wade, ze trzeba odszukac deklaracje p zeby sie dowiedziec 
co faktycznie jest przydzielane, ale w/g mnie wada drobna w stosunku do 
zalety, zreszta nie da sie pogodzic jednego z drugim.

PS: cos nerwowy jestem.. zawsze jest tak przed spodziewana premia :))).
      /Zona jeszcze bardziej :)/

-- 
Pozdrawiam                                         Adam Karpierz   
mailto:karpierz@intertele.pl
http://www.intertele.pl/users/karpierz 
Technical Details
Message-ID: <01bd2bec$6a5259e0$90baccc2@karpierz.dyn.ml.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!not-for-mail
References: <34CCAF18.4877@imm.org.pl> <6akmcl$nua@polonez.man.lodz.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!ict.pwr.wroc.pl!not-for-mail
From: "Karpierz" <karpierz@inter.intertele.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: malloc czy (type *)malloc?
Date: 28 Jan 1998 12:57:57 GMT
Organization: Technical University of Wroclaw, Poland
Lines: 63
Message-ID: <01bd2bec$6a5259e0$90baccc2@karpierz.dyn.ml.org>
References: <34CCAF18.4877@imm.org.pl> <6akmcl$nua@polonez.man.lodz.pl>
NNTP-Posting-Host: ppp129.intertele.pl
X-Newsreader: Microsoft Internet News 4.70.1161
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit