Hvordan Initial Variabler i C

C ikke initialisere variabler automatisk, så hvis du ikke initialisere dem riktig, kan du få uventede resultater. Heldigvis gjør C det enkelt å initialisere variabler når du deklarerer dem.

Bruksanvisning

Initial Variabler på Declaration

1 Initial en variabel i C for å tilordne den en startverdi. Uten dette, vil du få uansett hva som skjedde til å være i minnet på det tidspunktet, noe som fører til inkonsekvent atferd og uforklarlige feil som kan være svært vanskelig å spore opp.

2 Legg en initialisering til erklæringen. Bare tack på et oppdrag rett til slutten av erklæringen, som så:

int x = 5;

3 Vet at initialisering arrays fungerer på samme måte, bortsett fra at du må sette flere kommaseparerte verdier inne klammeparenteser. Når du gjør dette, kan du la ut matrisen størrelse, og det vil bli fylt inn automatisk:

int month_lengths [] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

4 Dra nytte av tegnstrenger. Tegnstrenger, som er virkelig matriser av tegn, også støtte en enklere format for initialisering:

røye tittelen [] = "Mitt program";

5 Uttrykke enten slags matrise initialisering i pekeren format (siden arrays er virkelig pekere):

int

month_lengths = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
char title = "Mitt program";

6 Husk at strukturer i C er initialisert på samme måte som matriser:

struct rolle = { "Hamlet", 7, USANN, "Prince of Denmark", "Kenneth Branagh"};

Initialvariabler

7 Vent med å initialisere en variabel på et annet sted i programmet om dette vil bli klarere. For eksempel, en variabel som vil være indeksen for en for løkke er vanligvis best initialisert i den for sløyfen. Dette gjør det lettere for en programmerer for å lese, ettersom den initialiseringen er i nærheten av der den skal brukes.

8 Initialdatastrukturen til rett tid. Hvis en datastruktur kommer til å bli dynamisk allokert med malloc () eller en lignende funksjon, kan du ikke initialisere det før etter at den er tildelt. Men i dette tilfellet, hva du erklære er faktisk en peker, som fortsatt skal være initialisert til NULL som en selvfølge.

Hint

  • Det er godt å komme inn i vanen med å initialisere alt, selv om du ikke må. CPU-er triviell, og det vil spare deg fra feil som er vanskelig å diagnostisere en dag.
  • Hvis du initialisere en streng variabel på erklæring og deretter endre det senere, pass på å ikke overkjørt den opprinnelige strengen lengde. Det er som regel bedre å bare erklære en streng og deretter initialisere den manuelt med strcpy () hvis du har tenkt å endre den i løpet av programmet.