Hva er Struktur Variabler initialisert til i C?

C programmeringsspråket er ofte referert til som en "lavere nivå" språk, noe som betyr at dets sammenstilling og drift oppstår nærmere maskinvarenivå i en datamaskin enn andre programmeringsspråk. Dette betyr også at visse fordeler med høyere nivå språk ikke forekommer i C, som automatiske type sjekking. Når du oppretter variabler eller datastrukturer, gjør kompilatoren ikke initialisere data. Det er opp til programmereren.

variabler

Akkurat som i de fleste andre programmeringsspråk, variabler er grunnlaget for C. Uten dem kunne programmerere ikke utføre mange meningsfylte operasjoner som er avhengige av den nåværende tilstand av programmet. Variabler i C hold data for videre bruk og er erklært av programmerer og tildelt en verdi. C representerer et "sterkt skrevet" språk, noe som betyr at programmereren må også erklære datatypen til variabelen. Så, for eksempel, en variabel ment å holde et heltall må deklareres med "int" søkeord foregående variabelnavnet.

variabel initialisering

Når en programmerer erklærer en variabel i sin C-program, setter kompilatoren til side nok minne til å holde den variable data. Kompilatoren gjør dette ved kompilering, noe som betyr at før programmet kjører selv, har kompilatoren instruksjonene for å sette av minne for visse typer variabler. Imidlertid kunne minne kompilatoren avsetter inneholde noe. En initialisert variabel kan inneholde noen verdi, eller ingenting i det hele tatt. Dette er grunnen til at det er opp til programmereren å initialisere variabel. Følgende kode viser forskjellen mellom en initialisert og initialisert variabel i C:

int x; //ingen verdi
int y = 3; // Y har verdien 3

strukturer

Datastrukturer er lik variabler i C i at de representerer data under et variabelnavn. Men strukturer, betegnet med "struct" søkeord, holder en samling av ulike data ment å arbeide sammen i en slags logisk måte. Strukturer representerer en form for datatype, i den variable strukturer kan bli erklært. For eksempel, illustrerer den følgende kode forskjellen mellom en struktur og en variabel. Struct "y" betegner en ny datatype "y" som programmerer kan erklære variabler:

int x; // variabel

struct y {
int j;
char k;
}; // Struct som holder ett heltall og en karakter variabel

y struct_variable; // Variabel av type "y"

struktur initialisering

Mye som variabler, setter kompilatoren til side minneplass for strukturer når de blir vedtatt. Imidlertid er strukturer ikke initialisert til programmereren initialiserer dem. Minnet satt til side for en struktur kan inneholde alle data for alle variablene i strukturen, men ingen av de variabler vil inneholde noen meningsfull verdi. Derfor, som vist i den følgende kode, må programmereren initial verdiene for den variable, enten ved deklarasjon av selve strukturen eller når erklære en variabel av den strukturtype:

struct {
int num = 2;
int num2 = 3;
};

struct y {
int j;
char k;
}

y struct_variable = {1, "e"};