I programspråket C , som med andra programmeringsspråk , programmerare lagra olika värden på variabler . Beroende på vilken typ av värde som han vill lagra , kommer de att använda en annan typ av variabel som är optimerad för att hantera den typen av värde mest effektivt . Men variabeltyper är inkompatibla och kommer att strida om de båda används i en operation . Numeriska typer
C , det finns två stora inhemska variabeltyper för siffror : heltal och flyttal . Programmerare använder heltal , eller " int " typer , för att lagra heltal som 1 , 2 , 3 , 300 , 3000 , eller någon annan siffra som endast består av kompletta enheter . Programmerare använder flyttal , eller "flyta" typer , för nummer som har en decimal komponent . Dessa kan vara tal så små som 0,0003 eller så stor som 300000,3 .
Karaktär Variabler
tecken, till exempel bokstäver eller symboler , lagras i " char " infödda datatyp . En enda char variabel kan hålla en enda bokstav eller symbol . Till skillnad numeriska datatyper , som kan lagra något numeriskt värde inom en enda variabel , kan röding variabler inneha endast ett enda tecken . Om en programmerare vill lagra ord eller meningar , måste han använda en rad röding variabler . Dessa är strukturer som består av flera char variabler , där varje variabel som håller en bokstav. Till exempel, om en programmerare ville lagra ordet " dator ", skulle han använda en åtta - slot array av char variabler , med varje slits innehar ett av dessa tecken i ordet .
Gjutning konflikter
variabeltyper är skapade så att de endast kan användas i verksamheten med andra variabler av samma typ . För vissa åtgärder , dessa konflikter är en förlängning av enkel logik : Om en programmerare försöker subtrahera en karaktär från ett heltal , kommer han att få en konflikt typ fel . Andra typ konflikter är mindre intuitivt . Till exempel , medan både ett heltal och ett flyttal är siffror som har värden som kan användas tillsammans i en matematisk ekvation , typ konflikter hindrar C från subtrahera ett flyttal decimal från ett heltal .
Re - gjutning
sättet att hantera dessa typer konflikter är att tillfälligt omarbeta siffror som samma typ . Till exempel A för att subtrahera Float från Integer B , en programmerare skulle tillfälligt omarbeta B som ett flyttal . Han skulle göra detta med koden : " ( float ) B - A , " som inte skulle påverka den aktuella typen av B , men tillfälligt ändra det till ekvationen . Programmerare kan omarbetas siffror som andra siffror , men de kommer att vinna eller förlora distinkta kvaliteter . Den int 50 gjutna som en flottör blir 50,00 medan flottören 35.55 omarbetas som en int blir 35 .