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 aluminijske folije i aluminijske folije

    Razlika između aluminijske folije i aluminijske folije

    Ključna razlika: Aluminijska folija je tanak sloj aluminija debljine manje od 0, 2 milimetra i može se koristiti za različite stvari oko kuće. Limena folija je tanak list folije od kositra. To je najčešća vrsta ambalaže i izolacijskog materijala korištenog prije Drugog svjetskog rata, nakon čega je aluminij postao najjeftiniji materijal i otišao u masovnu proizvodnju. Aluminijs
  • razlika između: Razlika između Snapdeala i Amazona

    Razlika između Snapdeala i Amazona

    Ključna razlika: Snapdeal je indijska tvrtka osnovana od strane poduzetnika Kunal Bahl i Rohit Bansal u 2010. Amazon.in je podružnica matične tvrtke Amazon.com. Pokrenula je svoje indijske operacije 2012. godine lansiranjem Junglee.com Kupovina koja je zahtijevala satove za lov, pregovaranje i putovanje od trgovačkog centra do trgovačkog centra sada je prošlost s e-trgovinom. Shop
  • razlika između: Razlika između gospođe, gđice i gospođice

    Razlika između gospođe, gđice i gospođice

    Ključna razlika: Gospođa se koristi samo za udane žene. Gospođica se tradicionalno koristi samo za neudanu ženu. Gospođa se može koristiti za ženu, bez obzira na njezin bračni status. To je zadani oblik adrese za žene. Izraz gospođa, gospođa i gospođica koriste se kao počasna zvanja za žene na engleskom jeziku. Međutim, oni
  • razlika između: Razlika između čajanke i republikanca

    Razlika između čajanke i republikanca

    Ključna razlika: Republikanska stranka jedna je od dvije najveće stranke u SAD-u. Republika stranka se ponosi američkim konzervativizmom. Tea Party, s druge strane, uopće nije politička stranka. To je zapravo politički pokret koji zagovara smanjenje američkog državnog duga i deficita saveznog proračuna smanjenjem američke državne potrošnje i poreza. Republikan
  • razlika između: Razlika između DHTML-a i JavaScript-a

    Razlika između DHTML-a i JavaScript-a

    Ključna razlika: DHTML je u biti dinamički HTML. To je novi način gledanja i kontrole standardnih HTML kodova i naredbi. DHTML je skup tehnologija koje se koriste za stvaranje interaktivnih i animiranih web stranica. Iako njihova imena sugeriraju da se Java i JavaScript moraju nekako povezati, to jednostavno nije točno. Ja
  • razlika između: Razlika između Alcatel One Touch Idol Ultra i Samsung Galaxy S4

    Razlika između Alcatel One Touch Idol Ultra i Samsung Galaxy S4

    Ključna razlika: Alcatel One Touch Idol Ultra ima 4, 65 inčni HD AMOLED kapacitivni zaslon osjetljiv na dodir s rezolucijom 720 x 1280 piksela. Telefon se napaja pomoću dual-core 1.2 GHz procesora na MediaTek MTK 6577 i 1 GB RAM-a. Telefon ima širinu od 6, 45 mm, što ju je navelo da ga promovira kao najtanji smartphone na tržištu. Samsu
  • razlika između: Razlika između Intex Aqua Wonder 2 i XOLO X1000

    Razlika između Intex Aqua Wonder 2 i XOLO X1000

    Ključna razlika: Intex Aqua Wonder 2 je nasljednik jednog od prethodnih telefona tvrtke Intex Aqua Wonder. Aqua Wonder 2 sadrži čipset MT6589 tvrtke MediaTek, koji je četverojezgreni 1.2 GHz procesor i 512 MB RAM-a. XOLO x1000 radi na jednojezgrenom Intel Atom procesoru Z2480. Ima brzinu obrade od 2 GHz zbog svojih hiper-navoja, kao i 1 GB RAM-a. In
  • razlika između: Razlika između granice i depresije

    Razlika između granice i depresije

    Ključna razlika: granični poremećaj osobnosti je mentalno stanje u kojem ljudi doživljavaju nepromišljeno i impulzivno ponašanje, nestabilna raspoloženja i odnose. Depresija se definira kao stanje niskog raspoloženja i averzija prema aktivnostima. To je obično uzrokovano biokemijskom neravnotežom u mozgu, koja ometa sposobnost živčanih stanica da međusobno komuniciraju. Postoje raz
  • razlika između: Razlika između Notepada i Wordpada

    Razlika između Notepada i Wordpada

    Ključna razlika: Notepad je jedan od najjednostavnijih dostupnih uređivača teksta. On je sposoban samo za minimalno oblikovanje, kao što su različiti fontovi i veličine. WordPad je sličan programu Notepad, ali vam daje više mogućnosti oblikovanja. Smatra se laganom i razrijeđenom verzijom programa Microsoft Word. Notepad

Izbor Urednika

Razlika između građanskog i kaznenog prava

Ključna razlika: Građansko pravo je skup zakona koji se bavi sporovima između dviju stranaka građana. Ona osigurava održavanje mira i tišine između članova svoga društva. Građansko pravo se ni u kojem slučaju ne bavi nikakvim kriminalnim aktivnostima, već samo uobičajenim sporovima između tuženika i tužitelja. Kazneni zakon