Vrste podatkov v "C". Programiranje v jeziku C "

Podatkovni tipi v C so razred podatkov, katerih vrednosti imajo podobne značilnosti. Vrsta določa notranjo predstavitev podatkov v pomnilniku. Osnovni podatkovni tipi: logično, celo število, plavajoča točka, niz, kazalci.

Tipizacija

Pri dinamičnem tipkanju je spremenljivka povezana s tipom v trenutku inicializacije. Izkazalo se je, da ima spremenljivka v različnih delih kode lahko različne vrste. Dinamično tipkanje podpirajo Java Script, Python, Ruby, PHP. Statična tipizacija je nasprotna dinamiki. Ko je spremenljivka deklarirana, prejme tip, ki se v prihodnosti ne spremeni. Jeziki C in C ++ sta ravno to. Ta metoda je najbolj primerna za pisanje zapletene kode, v fazi kompilacije pa so izključene številne napake.


Jeziki so neformalno razdeljeni na močno tipizirane in šibko tipizirane. Močna tipizacija predpostavlja, da bo prevajalnik ustvaril napako, ko bodo pričakovani in dejanski tipi različni. x = 1 + "2"; //napaka - lahko dodate primer slabega tipkanja znakov. x = 1 + "2"; //3 Preverjanje ujemanja tipa izvaja varnostni sistem. Napaka pri tipkanju, na primer, ko poskušate uporabiti številko kot funkcijo. Obstajajo netipirani jeziki. V nasprotju s tipiziranimi, vam omogočajo izvajanje vseh operacij na vsakem predmetu.

Razredi spomina

Spremenljivke, ne glede na njihovo vrsto, imajo svoj obseg in čas obstoja.
Pomnilniški razredi:
  • avto;
  • statična;
  • zunaj;
  • register.
  • Vse spremenljivke v jeziku C zaprivzeto so lokalni. Uporabijo se lahko samo znotraj funkcije ali bloka. Po zaključku funkcije se njihova vrednost uniči. Statična spremenljivka je tudi lokalna, toda zunaj njenega bloka je lahko drugačna vrednost, med funkcijami pa se vrednost ohrani. Zunanja spremenljivka je globalna. Na voljo je v katerem koli delu kode in celo v drugi datoteki. Spremenljivka registra priporoča, da prevajalnik shrani vrednosti v RAM. Posebnosti podatkovnih tipov v C ni mogoče določiti v naslednjih primerih:
  • Vse spremenljivke znotraj bloka niso spremenljivke oziroma, če je predvidena uporaba tega posebnega razreda pomnilnika, potem ni določen samodejni specifikator.
  • Vse funkcije, deklarirane zunaj bloka ali funkcije, so privzeto globalne, zato je zunanji specifikator neobvezen.
  • Osnovne vrste

    Določa int, char, float in double za specifikacijo preprostih tipov. Spremenljivke lahko nadomestimo z nepodpisanim modifikatorjem, podpisanim, znakovnim, kratkim, dolgim, dolgim.

    Privzeto so vse številke podpisane, lahko so v območju samo pozitivnih števil. Za podajanje znakovne spremenljivke char kot znaka je podpisan podpisani znak. Dolga, dolga in kratka oznaka, koliko pomnilnika je shranjenih za shranjevanje. Večina - dolga, najmanj - kratka. Char je najmanjša vrsta podatkov v jeziku C. Za shranjevanje vrednosti je dodeljen samo 1 bajt pomnilnika. Tipi spremenljivih znakov so ponavadi dodeljeni simboli, redko - številke. Simbolne vrednosti so v narekovajih. char a = a "; char b = 2; vnesite int shranjuje številke, njihovovelikost ni določena, potrebuje do 4 bajte pomnilnika, odvisno od arhitekture računalnika. int a = 12; Izrecna pretvorba nepodpisane spremenljivke je podana tako: unsigned int a = 12; Implicitno izgleda takole: int a = 12u; Float in dvojno določanje številk s piko. Float številke so predstavljene kot -2.3 ali 334. Double je uporabljen za večjo natančnost - po ločilu celotnega in frakcijskega dela je več številk. Ta vrsta zavzema več prostora za shranjevanje kot float.
    dvojno = 124567; Void ima prazno vrednost. Določa funkcije, ki ne vrnejo ničesar. Ta specifikator podaja prazno vrednost v argumentih metode. Indikatorji, ki lahko sprejmejo kakršne koli podatke, so prav tako označeni kot neveljavni.

    Logični tip Bool

    Uporablja se za preverjanje pogojev in ciklov. Ima samo dva pomena:
  • resnica;
  • laži.
  • Boolove vrednosti se lahko pretvorijo v vrednosti int. True je enakovredno eni, false - nič. Pretvorba vrst je zagotovljena samo med bool in int, sicer bo prevajalnik ustvaril napako. int x = 123; if (x) {//Napaka: "Ne morem implicitno pretvoriti tipa 'int' v 'bool'"}; if (x! = 0) //C # način {}

    Linije in nizi

    Nizi pripadajo kompleksnim tipom podatkov v C. MP ne deluje z nizi, kot je Javascript ali Ruby. V C so vse vrstice nizi simbolnih elementov. Vrstice se končajo z ničelnim bajtom "".

    Napovedi vrstice C: char b [] = {'s', t, r, i, n, g in}; Vrstica je objavljena tudi v zgoščeni obliki. char a [] = "niz"; a

    === b

    ; //'t' Celotne ali znakovne matrike so deklarirane na enak način: tipime spremenljivke podatkov [velikost polja]. int a [100]; char b
    ; Podobna skladnja kaže, da velikost vrednosti int ne sme biti večja od 100 znakov. Pri ustvarjanju matrike se v pomnilnik shrani določeno število celic za shranjevanje predmetov. Zato je pomnilnik dinamično dodeljen za obdelavo podatkovnih nizov neznane dimenzije ali za spremembo. Večdimenzionalni nizi so deklarirani na naslednji način: int a

    ; Pri ustvarjanju tega niza je v tem primeru dodeljeno mesto za shranjevanje dveh ugnezdenih nizov, ki so sestavljeni iz treh elementov. Inicializacija večdimenzionalnega polja: int a

    = {123 456}; a

    ; //[1, 2, 3] a
    ; //[4, 5, 6]

    Kazalci povezave

    Kazalci so glavna značilnost jezika, saj ponujajo velike možnosti za delo s spominom. Prenašajo informacije o lokaciji druge spremenljivke v spomin. Pred uporabo so, tako kot druge spremenljivke, deklarirani kot kazalec tipa *. Tip - vrsta spremenljivke, kazalec - ime kazalca.
    Za določitev kazalca na vrednost druge spremenljivke se uporabljajo reference. Posredujejo naslov spremenljivke in se uporabljajo kot varen indeks. int a = 2; int * kazalec; pointer = & amp; a; Povezave omogočajo delo s kazalcem, kot z objektom.
    V tem primeru bo & amp; a vrnil 0x7340cad2a25c, * kazalec - 2, a kazalec brez "*" - 0x7340cad2a25c. S spreminjanjem vrednosti ne spreminjamo njegovega naslova, zato se bo kazalec nanašal tudi na 0x7340cad2a25c, vendar bo spremenil njegov pomen. Kazalec na drug kazalec je deklariran v obliki int w = 100; int * x = & amp; w; int ** z = & amp; x; Kazalec na polje deluje nekoliko drugače.int c
    = [1, 2, 3, 4, 5], * a; Izjavili smo matriko celih števil in indeks int a. V tem primeru kazalec ne kaže samega niza, temveč samo njegov prvi element. Torej je a = c; in a = & c ; //1 so enakovredni. Zdaj se lahko sklicujete na tretji element matrike z uporabo izraza * (a + 3) ali a
    ; V zgornjem primeru lahko opazimo, da dodajanje kazalcev deluje drugače. Na njih se lahko uporabijo različne aritmetične operacije. Kazalec na matriko je označen na naslednji način: char (* pa) ; Toda niz kazalcev izgleda takole: char * pc ;

    Strukture

    Struktura - Vrsta podatkov v jeziku C, ki omogoča pisanje in razumevanje programov, pomaga pri združevanju podatkov.
    Struktura vzorca matrike predstavlja niz podatkov, vendar so lahko njeni elementi različnih vrst, pretvorba pa se izvaja po imenu, ne po indeksu. {type1 spremenljivka name1; spremenljivka type1 ime1; //drugi člani podatkov; Deklaracija strukturne spremenljivke se pojavi po zapiranju kodrastih oklepajev. struct book {char title
    ; char avtor
    ; dvojno ulivanje; } book1 book2 * ptr_bk; Do polj dostopa operater "." Za sklicevanje na spremenljivko naslova napišite: book1.title; Inicializirajte spremenljivko book1.title = "String"; Operater "->" se uporablja za označevanje kazalca. ptr_bk- & gt; oddanih; ali "." operater. (* (ptr_bk)). Druga vrsta seznamov s podatki je enum (enum). Vsebuje celo število spremenljivk. enum {rdeča, modra, zelena}; V primeru je deklariran anonimni prenos, ki vsebuje tri člane rdeča, modra, zelena. Pred dostopom do elementov je deklarirana spremenljivka oštevilčenja. enum name1 {rdeča,modra, rdeča} bomo poimenovali; V tem primeru je ime1 ime prenosa, in ime je spremenljivka. V času ustvarjanja strukture lahko podate več spremenljivk. Prenesejo se skozi vejico. enum name1 {rdeča, modra, rdeča} ime1 varname2 varname3; Dostop do članov prenosa je podan z opterjem "." varname.red = "rdeča";

    Zaključek

    C jezik zagotavlja velik nabor tipov. Oblikujejo se s pomočjo ustreznih specifikatorjev. Osnovni tipi so razdeljeni na številke (double, float) in znake (int, char). Modifikatorji, ki so podpisani in nepodpisani, označujejo prisotnost znaka pred simbolom. Modifikatorji so dolgi in so odgovorni za velikost celic v pomnilniku za shranjevanje vrednosti spremenljivk. Tip logičnih podatkov ima dve vrednosti: true in false. Nizi, strukture so kompleksni tipi podatkov. Kazalec deluje z naslovom spremenljivke, na katero se nanaša.

    Sorodne publikacije