Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Slik fjerner Padding Fra et C Structure
    Computer minne er vanligvis justert til en grense lik i størrelse til systemet ordet størrelse. På en hypotetisk 32 -bit system , forestill deg at dette ordet størrelse er fire byte . I C-språk , kan du lage strukturer som lagrer data . For å justere dem til ordet størrelse , kan den C-kompilator legge polstring til strukturen . Du kan fjerne denne polstring ved hjelp av en preprocessor direktiv som forteller det til å justere data annerledes. Du trenger
    C Integrated Development Environment , som for eksempel Eclipse CDT
    C Compiler , slik GCC
    Vis flere instruksjoner
    en

    Legg C IDE av klikke på programikonet . Når den åpnes, velger du "Fil /Ny /Project" og velg "C Project" for å opprette en ny C-prosjekt . En tom kildekoden filen vises i teksteditoren delen av IDE .
    2

    Lag en " struct " heter " A" med standard minne justering. Skriv følgende uttalelse på toppen av kildekoden filen:

    struct { } A;
    3

    Legg noen data medlemmer til struct " A." Ved å blande heltall og tegntype , er du sørge for at kompilatoren pads strukturen . På en 32 -bit system , de to første int datatyper hvert ta opp fire byte med minne og er perfekt justert som den er. Men de to char datatyper hver tar opp en enkelt byte , og sammen opptar to byte med data . Kompilatoren vil pad ut dette med to byte med søppel data for å justere dataene riktig. Legg til følgende utsagn for å konstruere "A" ved å plassere dem mellom klammeparentesene etter ordet

    int en " struct . ";

    Int b;

    røye a;

    røye b;
    4

    Lag en preprocessor direktiv som forteller den om å justere til en - byte grense, ikke 4 - byte grense : en

    # pragma pakke ( push, 1 )
    5

    Opprett en struct , denne heter " B ", og plassere den umiddelbart etter preprocessor direktiv skrevet i forrige trinn .

    struct { } B;
    6

    Fyll struct "B" opp med samme datatyper som struct " A ", ved å skrive følgende utsagn innenfor krøllete parentes av struct " B." Disse datatyper vil stille opp til nærmeste byte , som skjer for å være 10 ( fire for hver int , en for hver røye ) . Det blir ingen polstring i denne strukturen

    int a; .

    Int b;

    røye a;

    røye b;

    7

    Reset justeringen tilbake til standard ved å skrive følgende utsagn : en

    # pragma pakke ( pop )

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan lagre data på Xcode for iPhone 
    ·Hvordan legge Minutter til DateTime 
    ·Hvordan lage din egen PSP spill 
    ·Hvordan lage et GUI i C 
    ·Opplæring for skjermsparere i C + + 
    ·Hvordan bruke MFC Verktøylinjer 
    ·Hvordan lage en trykknapp Invisible i Visual C 
    ·Hvordan bruke Switch Case in C # 
    ·Hvordan å manipulere strenger i MFC 
    ·Slik konverterer en Float til en String i C Programming…
      Anbefalte artikler
    ·Forskjeller mellom Object abstrakte datatyper og data a…
    ·The History of Computer Programming 
    ·Computer Studies for nybegynnere 
    ·Hvordan sortere et String Array i VBA 
    ·Hvordan tillate InnoDB i MySQL 5 Med cPanel 
    ·Hvordan koble et nettsted for å SQLite 
    ·Slik konverterer VBA til Python 
    ·Er Tidy Script Malware 
    ·Hva er Tk Format 
    ·Hvordan legge til en DataRow i et datasett 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/