[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] pointer gymnastik



Anders Melchiorsen <sslug@sslug> wrote in message
news:sslug@sslug
>Kim Pedersen <sslug@sslug> skrev:
>
>> >En streng incrementerer lineært? *p++ har anden sideeffekt på p end
>> >p++ har?
>
>>  *p og p er jo overhovedet ikke det samme. Hvad der er ment er at en
>> compiler måske siger at
>>  hele strengen skal lagres lige efter hinanden ( hver karakter ), mens en
>> anden måske lægger karakterene på 10 forskellige adresser hvorved den
>> eneste måde at incrementere på via en pointer for at få det rigtige
>> resultat vil være: p++.
>
>p++ forøger p og returnerer den værdi, den havde før
>
>*p++ forøger p og returnerer det, den pegede på
>
>Da vi ikke bruger returværdien er deres virkning altså ens. Så kan jeg
>ikke se, hvorledes hukommelsesopbygningen har noget at sige. Og jeg
>tvivler i øvrigt på, at det er lovligt for en compiler at lægge et
>array ud som det vil.
>--
>Regards, Anders                         If a Microsoft product
>(address is valid)                      fails, who do you sue?

Jeg ville også blive særdeles nervøs, hvis mine compilere lagde data
tilfældigt. Unioner ville for eksempel blive ret besværlige at stole på som
datakonvertere.
Jeg laver ret tit low-level indlæsning fra diverse porte ved at placere data
i et streng-array i en union. Efter indlæsningen kan jeg læse data ud i den
korrekte type i en anden del af unionen.

Med venlig hilsen

Keld Laursen




 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:07 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *