Razlika između C i C ++ s primjerima | Programski jezici

Ključna razlika: C i C ++ su dva različita jezika za programiranje računala. C ++ je razvijen iz programskog jezika C; međutim, oni su po prirodi prilično različiti. Najočiglednija razlika je u tome što je C jezik orijentiran na proceduru, dok C ++ podržava i proceduralno i objektno orijentirano programiranje, stoga se često naziva hibridnim jezikom.

C i C ++ su dva različita programska jezika. C je izvorno razvio Dennis Ritchie u AT&T Bell Labs između 1969. i 1973. C ++ je drugi programski jezik opće namjene. Razvijen je iz izvornog jezika C programiranja. Razvio ga je Bjarne Stroustrup iz Bell Labsa počevši od 1979. godine. C ++ je izvorno nazvan C s Classes, jer je bio utemeljen na C. Preimenovan je C ++ 1983. godine.

C je jedan od najstarijih programskih jezika koji se trenutno koristi i jedan je od najčešće korištenih programskih jezika. Neprestano se koristi u aplikacijama koje su prethodno kodirane u asemblerskom jeziku. To uključuje operacijski sustav UNIX računala. C je izravno ili neizravno utjecao na mnoge kasnije programske jezike, kao što su C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python i Unix C ljusku. Unatoč svim tim novim jezicima, C i dalje ostaje popularan programski jezik.

C ++ je izvorno započeo kao poboljšanje C. On je bio dizajniran da bude kompatibilan s izvorima i vezama sa C. Međutim, dodao je klase, virtualne funkcije, preopterećenje operatora, višestruko nasljeđivanje, predloške, rukovanje iznimkama, itd. dovoljno da se smatra programskim jezikom. Izvorno je ratificiran 1998. kao ISO / IEC 14882: 1998 certificirani programski jezik. Danas se C ++ obično koristi za dizajn hardvera.

C je programski jezik opće namjene koji koristi točku-zarez (;) kao terminator izraza, kao i vitičaste zagrade ({}) za grupiranje blokova izraza. Posjeduje objekte za strukturirano programiranje i njegov dizajn osigurava konstrukcije koje mogu učinkovito mapirati tipične strojne upute. Također omogućuje leksičku varijablu opsega i rekurzije i ima statičan sustav tipa, koji sprječava mnoge nenamjerne operacije.

Međutim, u usporedbi sa C ++, C ima brojna ograničenja. Budući da C nije objektno orijentiran, on ne podržava OOPS koncepte. C ne podržava preopterećenje funkcije i operatora. Ne može koristiti funkcije unutar struktura. Ne podržava virtualne funkcije i referentne varijable ili rukovanje iznimkama. Također ne podržava referentne varijable. Osim toga, C također ne enkapsulira ili osigurava podatke. Za usporedbu, C ++ podržava sve ove značajke.

Nadalje, C ne podržava značajku NAMESPACE, dok C ++ radi. Prostor imena je definitivna regija koja omogućuje grupiranje identifikatora (imena vrsta, funkcija, varijabli, itd.). Prostori imena mogu se zatim koristiti za organiziranje koda u logičke grupe i za sprječavanje sudara imena. To je osobito korisno kada baza koda sadrži više knjižnica, što idealno čini kôd sklonim sudarima imena.

Dva jezika također se razlikuju po načinu rada memorije adrese, input-outputa i GUI programiranja. Na primjer, C koristi funkcije calloc (), malloc () i free () za dodjelu i raspodjelu memorije, dok C ++ koristi nove i briše. C koristi scanf () i printf () za ulaz i izlaz, dok C ++ koristi cin >> i cout << operatore. C podržava GTK alat za programiranje GUI-a, dok C ++ podržava Qt alate za programiranje GUI-ja. Druga razlika je u tome što C zahtijeva da proglasimo sve varijable na vrhu programa, dok se u C ++ varijable mogu deklarirati bilo gdje u programu.

Osim toga, C ++ se obično smatra lakšim za učenje, budući da je on lakši za korištenje od C. C ++ također ima brojne dodatne funkcije koje olakšavaju kodiranje, posebno za nekoga tko je nov u C okviru. Međutim, mnogi tvrde da je doista važno. Ta se dva jezika toliko razlikuju da zapravo mogu biti dva različita jezika međusobno neovisna. Jedna stvar koju treba imati na umu je da je C mnogo strukturiraniji od C ++-a, dok je C ++ osmišljen tako da bude izražajniji i apstraktniji od C.

Usporedba između C i C ++:

C

C ++

Osnovan

Razvio ga je Dennis Ritchie u laboratoriju AT&T Bell između 1969. i 1973. godine.

Razvio ga je Bjarne Stroustrup u Bell Labsu od 1979. godine.

Izvorni kod

Izvorni kod programa slobodnog formata

Izvorno razvijen iz programskog jezika C

Jezik

Postupak Orijentiran jezik

Podržava proceduralne i objektno orijentirane paradigme programiranja; stoga se često naziva hibridnim jezikom.

Pristup

Slijedi pristup od vrha prema dolje.

Slijedi pristup odozdo prema gore.

Odnos

C je podskup C ++-a. Ne može pokrenuti C ++ kod.

C ++ je nadskup od C. C ++ može pokrenuti većinu C koda dok C ne može pokrenuti C ++ kod.

Voziti

Jezik kojim upravljaju funkcije

Object-driven jezik

Fokus

Fokusira se na metodu ili proces, a ne na podatke.

Fokusira se na podatke umjesto na metodu ili postupak.

Građevni blokovi

funkcije

objekti

ključne riječi

Sadrži 32 ključne riječi

Sadrži 52 ključne riječi

OOPS koncepti

Kao 'C' jezik je postupak orijentiran na jezik, on ne podržava OOPS koncepte kao što su klasa, objekt, nasljeđivanje, polimorfizam, skrivanje podataka itd.

Kao objektno orijentirani jezik, C ++ podržava klasu, objekt, skrivanje podataka, polimorfizam, nasljeđivanje, apstrakciju itd.

funkcije

  • Ne podržava funkciju i preopterećenje operatora.
  • Ne mogu koristiti funkcije unutar struktura
  • Ne podržava virtualne funkcije i referentne varijable
  • Ne podržava rukovanje iznimkama
  • ne podržava referentne varijable
  • nema značajku prostora naziva
  • može pozivati ​​funkciju main () preko drugih funkcija
  • Podržava funkciju i preopterećenje operatora.
  • Može koristiti funkcije unutar struktura
  • Podržava virtualne funkcije i referentne varijable.
  • Podržava upravljanje iznimkama pomoću probnog i ulovnog bloka. Iznimke se koriste za "tvrde" pogreške koje čine kôd netočnim.
  • podržava referentne varijable
  • koristi značajku NAMESPACE koja izbjegava sudare imena.
  • ne može pozivati ​​funkciju main () preko drugih funkcija.

Funkcije memorije

Koristi funkcije calloc (), malloc () i free () za dodjelu i raspodjelu memorije.

Koristi operatore novim i brišu za istu svrhu.

ovijanje

Ne podržava. Podaci i funkcije su odvojeni i slobodni entiteti.

Podržava enkapsulaciju. Podaci i funkcije enkapsulirani su zajedno u obliku objekta. Klasa objekata pruža nacrt strukture objekta.

Skrivanje informacija

C ne podržava skrivanje informacija. Ovdje su podaci besplatni entiteti i njima se može upravljati vanjskim kodom.

Inkapsulacija skriva podatke kako bi se osiguralo da se strukture podataka i operatori koriste kako je namijenjeno.

Podaci

Podržava ugrađene i primitivne vrste podataka.

Podaci nisu osigurani zbog ne-objektno orijentiranog

Podržava ugrađene i korisnički definirane vrste podataka.

Podaci su zaštićeni (skriveni) u C ++

nivo

Jezik niskih razina

Jezik na srednjoj razini

Ulaz izlaz

'C' jezik koristi scanf () i printf () za ulaz i izlaz.

'C ++' jezik koristi cin >> i cout << operatore za ulaz i izlaz.

Deklaracija varijabli

C zahtijeva da se sve varijable na vrhu programa deklariraju.

U C ++, varijable se mogu deklarirati bilo gdje u programu prije uporabe.

Više deklaracija

Dopuštena je višestruka deklaracija globalnih varijabli.

Višestruka deklaracija globalnih varijabli nije dopuštena.

kartografija

Mapiranje podataka i funkcija je teško i komplicirano.

Mapiranje između podataka i funkcija može se koristiti pomoću "Objekti"

Programiranje GUI-ja

C podržava GTK alat za programiranje GUI-a

C ++ podržava Qt alate za programiranje GUI-a

baština

Nasljeđivanje nije moguće u C

Nasljeđivanje je moguće u C ++

Ekstenzija datoteke

Ima datotečni nastavak .c

Ima datotečni nastavak .cpp

Zadana datoteka zaglavlja

Zadana datoteka zaglavlja koja se koristi u jeziku C je stdio.h

Zadana datoteka zaglavlja koja se koristi u C ++ je iosteam.h

Neki primjeri razlika između C i C ++:

Primjeri

C

C ++

Deklaracija varijable

Samo na vrhu:

int i;

za (i = 10; i <10; i ++)

Bilo gdje u programu:

za (int i = 10; i <10; i ++)

Dodjela memorije

malloc:

int * x = malloc (sizeof (int));

int * x_array = malloc (sizeof (int) * 10);

Novi:

int * x = novo int;

int * x_array = novi int [10];

Otpuštanje memorije

Besplatno:

slobodno (x);

besplatno (x_array);

Izbrisati:

izbriši x;

delete [] x_array;

Preporučeno

Vezani Članci

  • razlika između: Razlika između RSPCA i SPCA

    Razlika između RSPCA i SPCA

    Ključna razlika: RSPCA se odvojila od SPCA i nazvana je kao kraljevska organizacija. RSPCA djeluje u Engleskoj i Walesu, a SPCA posluje širom svijeta. Kraljevsko društvo za prevenciju okrutnosti prema životinjama (RSPCA) i Društvo za prevenciju okrutnosti životinja (SPCA) dvije su od mnogih organizacija za dobrobit životinja koje postoje. Te su
  • razlika između: Razlika između konzultanta i zaposlenog na puno radno vrijeme

    Razlika između konzultanta i zaposlenog na puno radno vrijeme

    Ključna razlika: zaposlenik s punim radnim vremenom zaposlenik je tvrtke koja radi tamo puno radno vrijeme. Imaju sve prednosti zapošljavanja, uključujući plaćanje, odmor, beneficije, prekovremeni rad, itd. Konzultant je specijalizirani stručnjak koji pruža stručne savjete u svom području. Stoga se često angažiraju za određeni zadatak ili projekt na kojem mogu primijeniti svoju stručnost ili dati savjet. Konzultant
  • razlika između: Razlika između Like i Share Button na Facebooku

    Razlika između Like i Share Button na Facebooku

    Ključna razlika : Facebook 'Like' i 'Share' su najpopularnije tipke na mnogim web stranicama. Ključna razlika između dva gumba je u tome što se gumb "Sviđa mi se" koristi za procjenu veze, statusa ili posta druge osobe na stranici druge osobe, dok se gumb "Dijeli" koristi za dijeljenje ili distribuciju svih omiljenih postova, veza, videozapise, stranice ili ažuriranja sa svima na popisu prijatelja na pojedinačnim Facebook stranicama. Još o
  • razlika između: Razlika između ciljeva i ciljeva

    Razlika između ciljeva i ciljeva

    Ključna razlika: Cilj je željeni rezultat koji osoba želi postići. To je meta koju osoba želi doseći. To je krajnja točka u kojoj se osoba vidi nakon određenog vremenskog razdoblja. Cilj je zapravo dio cilja. Ciljevi su konkretniji i jasno definirani određenim koracima koji će na kraju omogućiti osobi da ispuni taj određeni cilj. Ciljevi su
  • razlika između: Razlika između kontrolne linije i međunarodne granice

    Razlika između kontrolne linije i međunarodne granice

    Ključna razlika: Međunarodna granica (IB) je granica između Indije i Pakistana koja služi kao granica između zemalja Indije i Pakistana. To je međunarodna granica koja je prepoznata u svijetu. Izraz Linija kontrole (LOC) odnosi se na vojnu kontrolnu liniju između dijelova bivše kneževske države Jammu i Kašmir pod kontrolom Indije i Pakistana. Međunarod
  • razlika između: Razlika između Photoshopa i Lightrooma

    Razlika između Photoshopa i Lightrooma

    Ključna razlika: Photoshop je softver za uređivanje slika za teške uvjete rada. Lightroom je lakši softver koji također omogućuje upravljanje i uređivanje fotografija u serijama. Obje proizvode izdaje i upravlja Adobe. Photoshop i Lightroom su različiti programi koji se prvenstveno bave grafikom. Obje p
  • razlika između: Razlika između češkog i slovačkog

    Razlika između češkog i slovačkog

    Ključna razlika: Glavna razlika je u tome što su Česi iz Češke, a Slovaci iz Slovačke. Međutim, povijest ovih krajeva zajedno se povezuje. Stoga je vrlo teško razlikovati dvije osobe. Nije lako napraviti razliku između Čeha i Slovaka. Naravno, glavna razlika je u tome što su Česi iz Češke, a Slovaci iz Slovačke. Međutim, povi
  • razlika između: Razlika između metvice i paprene metvice

    Razlika između metvice i paprene metvice

    Ključna razlika : paprena metvica je hibridna sorta mente. Ključna razlika između dva kovnica temelji se na malo drugačijim okusima, mirisu i vegetaciji. Tijekom vruće ljetne vrućine, čaša limunade s nagovještajem metvice ublažava i umiruje svoja osjetila do srži. To nije limun, voda ili šećer, to je okus i okus od metvice koji čini trik. Mint je nada
  • razlika između: Razlika između HTC Windows 8X i Blackberry Z10

    Razlika između HTC Windows 8X i Blackberry Z10

    Ključna razlika: HTC Windows 8X ima 4.3-inčni S-LCD2 kapacitivni zaslon osjetljiv na dodir koji osigurava gustoću piksela od 342ppi. Zaslon je zaštićen gorilom staklom 2, što ga čini prilično izdržljivim i manje sklonim ogrebotinama. Telefon je prilično gladak i tanak, a baterija teži samo 130 grama. BlackBerr

Izbor Urednika

Razlika između Sony Xperia Z Ultra i LG Optimus G Pro

Ključna razlika: Sony Xperia Z Ultra je high-end phablet pokrenut 3. srpnja 2012. i prodan kao "najtanji Full HD smartphone na svijetu". LG Optimus G Pro je nasljednik LG Optimusa G. Optimus G Pro ima različite nadogradnje u odnosu na Optimus G. Dana 3. srpnja 2012, Sony je predstavio svoj najnoviji smartphone, Sony Xperia Z Ultra.