C initialiserer ikke variable automatisk , så hvis du ikke initialisere dem ordentligt , kan du få uventede resultater. Heldigvis C gør det nemt at initialisere variabler , når du erklærer dem. Instruktioner
Initialiser variabler på erklæring
1
Formatér en variabel i C for at tildele den en startværdi . Uden dette, vil du få, hvad der skete for at være i hukommelsen på det pågældende tidspunkt , hvilket fører til inkonsekvent adfærd og reproducerbare fejl , der kan være overordentligt vanskeligt at opspore .
2
Tilføj en initialisering til erklæringen . Bare tack på en opgave ret til slutningen af erklæringen , som så:
int x = 5;
3 Vide, at initialisering arrays fungerer på samme måde , bortset fra at du skal sætte flere kommasepareret værdier inde krøllede parenteser . Når du gør dette , kan du lade off array størrelse, og det vil blive udfyldt automatisk:
int month_lengths [] = { 31 , 28, 31 , 30, 31 , 30, 31 , 31, 30, 31, 30 , 31 };
4 Udnyt tegnstrenge . Tegnstrenge , som er virkelig arrays af figurer, også støtte en enklere format for initialisering :
char title [] = "My Program" ,
5 Express enten slags matrix initialisering i pointer format (siden arrays er virkelig pointers ) :
int * month_lengths = { 31 , 28, 31 , 30, 31 , 30, 31 , 31, 30, 31 , 30, 31 }; char * title = "My Program" ;
6 Husk, at strukturer i C er initialiseret på samme måde som arrays :
struct rolle = {" Hamlet ", 7 , FALSK, " Prins af Danmark ", " Kenneth Branagh " };
< br > Initialiser variabler manuelt
7 Vent med at initialisere en variabel til et andet sted i programmet, hvis dette vil være klarere. For eksempel er en variabel, der vil være indekset for en for-løkke normalt bedst initialiseret i for-løkken . Det gør det lettere for en anden programmør til at læse, fordi initialiseringen er nær , hvor det vil blive brugt.
8
Initialiser datastruktur på det rigtige tidspunkt . Hvis en datastruktur vil være dynamisk tildelt med malloc () eller en tilsvarende funktion , kan du ikke initialisere det indtil efter den er tildelt . Men i dette tilfælde er, hvad du erklære faktisk en pegepind , som stadig skal initialiseres til NULL som en selvfølge.