[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]![]() |
![]() |
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
![]() |
![]() |
![]() |
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
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |