Article View: pl.comp.lang.c
Article #584Re: Lvalue required
From: Pawel Matejski
Date: Tue, 20 Jan 1998 14:00
Date: Tue, 20 Jan 1998 14:00
43 lines
1720 bytes
1720 bytes
Jarek Kucypera <jark@insert.com.pl> wrote:
> Tomasz Cichacki <hermes@venus.wmid.edu.pl> napisa?(a) w artykule
>> Gdzie jest blad?
>> typedef struct dane
>> {
>> char ind[5];
>> char imie[20];
>> };
>> dane d1;
>>
>> //***************************
>> // zapis danych do pliku
>> //***************************
>>
>> void main(void)
>> {
>> char x[5] = "abcd"; // - Lvalue required
>> d1.ind = x;
>> };
> B??d w tym, ?e w C(++) NIE MO?NA stosowa? operatora podstawienia "=" do
[Ciach]
> Postawienie, jak u Ciebie, po prawej stronie operatora "=" tablicy,
> powoduje przekazanie ADRESU PIERWSZEGO ELEMENTU tej tablicy,
> a wi?c w tym wypadku wska?nika typu (char *).
To wkoncu to jest blad, czy nie? Przeczysz sam sobie.
Bledu w kompilacji tego fragmentu nie ma (kompilowane przez gcc),
za to konstrukcja, d1.ind = x; jest niebezpiczna, gdyz w tym
momencie gubisz wskaznik do zarezerwowanego miejsca w pamieci.
Postepujac tak czesciej w programie, moze Ci zabrakonac pamieci.
--
Pozdrawiam
Madej
Technical Details
Message-ID:
<6a2al7$n18$1@fox.ds14.agh.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!cyfronet!fox.ds14.agh.edu.pl!not-for-mailReferences:
<690be3$rs8$3@sunsite.icm.edu.pl> <01bd1c42$76482220$2701070a@jark.insert.igo.wroc.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!cyfronet!fox.ds14.agh.edu.pl!not-for-mail From: Pawel Matejski <madej@gacek.ds14.agh.edu.pl> Newsgroups: pl.comp.lang.c Subject: Re: Lvalue required Date: 20 Jan 1998 14:00:06 GMT Organization: AGH Lines: 46 Distribution: world Message-ID: <6a2al7$n18$1@fox.ds14.agh.edu.pl> References: <690be3$rs8$3@sunsite.icm.edu.pl> <01bd1c42$76482220$2701070a@jark.insert.igo.wroc.pl> NNTP-Posting-Host: fox.ds14.agh.edu.pl User-Agent: tin/pre-1.4-971224 (UNIX) (Linux/2.0.33 (i586)) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit