Rozdíl mezi C a C ++ s příklady Programovací jazyky

Hlavní rozdíl: C a C ++ jsou dva různé programovací jazyky. C ++ byl vyvinut z programovacího jazyka C; avšak jsou naprosto odlišné. Nejvíce zřejmý rozdíl je v tom, že C je procedurálně orientovaný jazyk, zatímco C ++ podporuje procedurální i objektově orientované programování, proto se často nazývá hybridním jazykem.

C a C ++ jsou dva různé programovací jazyky. C byl původně vyvinut Dennisem Ritchiem v laboratořích AT & T Bell Labs v letech 1969 až 1973. C ++ je další programovací jazyk pro obecné použití. Byl vyvinut z původního C programovacího jazyka. Byl vytvořen Bjarne Stroustrup v laboratořích Bell Labs od roku 1979. C ++ byl původně pojmenován C s třídami, protože byl založen na C. To bylo přejmenováno na C ++ v roce 1983.

C je jedním z nejstarších používaných programovacích jazyků a je jedním z nejrozšířenějších programovacích jazyků. Byl používán neustále v aplikacích, které byly dříve kódovány v jazyce sestavení. To zahrnuje operační systém počítače UNIX. C také přímo nebo nepřímo ovlivnilo mnoho pozdějších programovacích jazyků, jako jsou C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python a C shell společnosti Unix. Přes všechny tyto nové jazyky zůstává C stále populárním programovacím jazykem.

C ++ původně začalo jako vylepšení pro C. Bylo navrženo tak, aby bylo kompatibilní s kódem source-link s funkcí C. Přidávalo to třídy, virtuální funkce, přetížení operátorů, dědičná dědičnost, šablony, zpracování výjimek apod. natolik, aby byl považován za programovací jazyk sám o sobě. Původně byla v roce 1998 schválena jako programovací jazyk certifikovaný podle ISO / IEC 14882: 1998. Dnes je C ++ běžně používán pro návrh hardwaru.

C je obecný programovací jazyk, který používá jako bodový terminátor poloviční bod (;), stejně jako křivé příchytky ({}) pro seskupování bloků příkazů. Má zařízení pro strukturované programování a jeho konstrukce poskytuje konstrukce, které mohou efektivně mapovat typické pokyny k strojům. Umožňuje také lexikální variabilní rozsah a rekurzi a má systém statického typu, který zabraňuje mnoha neúmyslným operacím.

Nicméně ve srovnání s C ++ má C mnoho omezení. Protože C není objektově orientovaný, nepodporuje koncepce OOPS. C nepodporuje funkci a přetížení obsluhy. Nemůže používat funkce uvnitř struktur. Nepodporuje virtuální funkce a referenční proměnné nebo zpracování výjimek. Rovněž nepodporuje referenční proměnné. Navíc C také nezapojuje ani nezajišťuje data. Ve srovnání, C ++ podporuje všechny tyto funkce.

Navíc C nepodporuje funkci NAMESPACE, zatímco C ++. Obor názvů je definitivní oblast, která umožňuje identifikovat skupiny (názvy typů, funkcí, proměnných atd.). Namespace mohou být použity k organizaci kódu do logických skupin a zabránění kolizím názvů. To je obzvláště užitečné, když základna kódu obsahuje více knihoven, což v ideálním případě činí kód náchylný ke kolizím názvů.

Tyto dva jazyky se také liší způsobem, jakým jsou funkce paměti adresy, vstupní výstupy a programování GUI. Například C používá funkce calloc (), malloc () a free () pro přidělování a vyřazování paměti, zatímco C ++ využívá nové a odstraní. C využívá scanf () a printf () pro vstup a výstup, zatímco C ++ používá operátory cin >> a cout <<. C podporuje program GTK pro programování GUI, zatímco C ++ podporuje Qt nástroje pro programování GUI. Jiný rozdíl spočívá v tom, že C vyžaduje, aby každý prohlásil všechny proměnné v horní části programu, zatímco v jazyce C ++ mohou být proměnné deklarovány kdekoliv v programu.

Kromě toho se C ++ obvykle považuje za jednodušší, protože je uživatelsky přívětivější než C. C ++ má také řadu dalších funkcí, které usnadňují kódování, zvláště pro někoho, kdo je nový v rámci C. Mnoho lidí však tvrdí, že to skutečně záleží. Tyto dva jazyky se liší tak, že mohou ve skutečnosti být dva různé jazyky nezávislé na sobě. Jedna věc, kterou je třeba mít na paměti, je, že C je mnohem strukturovanější než C ++, zatímco C ++ byl navržen tak, aby byl výraznější a abstraktnější než C.

Srovnání mezi C a C ++:

C

C ++

Založený

Vyvinutý Dennisem Ritchiem v AT & T Bell Labs v letech 1969 až 1973.

Vyvinutý Bjarne Stroustrup v Bell Labs od roku 1979.

Zdrojový kód

Zdrojový kód volného formátu programu

Původně vyvinutý z programovacího jazyka C.

Jazyk

Postup orientovaný jazyk

Podporuje procedurální i objektově orientované programovací paradigmy; proto se často nazývá hybridním jazykem.

Přístup

Sleduje přístup shora dolů.

Sleduje přístup zdola nahoru.

Vztah

C je podmnožina C ++. Nelze spustit kód C ++.

C ++ je nadmnožinou C. C ++ může spustit většinu kódu C, zatímco C nemůže spustit kód C ++.

Řídit

Funkční jazyk

Jazyk orientovaný na objekt

Soustředit se

Zaměřuje se spíše na metodu nebo proces než na data.

Zaměřuje se na data spíše než na metodu nebo proceduru.

Stavební bloky

Funkce

Objekty

Klíčová slova

Obsahuje 32 klíčových slov

Obsahuje 52 klíčových slov

Koncepty OOPS

Protože jazyk C je procedurálně orientovaný jazyk, nepodporuje koncepty OOPS, jako je třída, objekt, dědičnost, polymorfismus, skrytí dat atd.

Jako objektově orientovaný jazyk podporuje C ++ třídu, objekt, skrytí dat, polymorfismus, dědičnost, abstrakci apod.

Funkce

  • Nepodporuje funkci a přetížení obsluhy.
  • Funkce uvnitř struktur nelze použít
  • Nepodporuje virtuální funkce a referenční proměnné
  • Nepodporuje zpracování výjimek
  • nepodporuje referenční proměnné
  • nemá funkci jmenného prostoru
  • může volat funkci hlavní () přes jiné funkce
  • Podporuje funkci a přetížení obsluhy.
  • Může používat funkce uvnitř struktur
  • Podporuje virtuální funkce a referenční proměnné.
  • Podporuje zpracování výjimek pomocí testovacího a blokovacího bloku. Výjimky se používají pro "těžké" chyby, které způsobují nesprávný kód.
  • podporuje referenční proměnné
  • používá funkci NAMESPACE, která zabraňuje kolizím názvů.
  • nemůže volat hlavní () funkci prostřednictvím jiných funkcí.

Funkce paměti

Využívá funkce calloc (), malloc () a free () pro přidělování a vyřazování paměti.

Používá operátory nové a odstraňuje pro tentýž účel.

Zapouzdření

Nepodporuje. Data a funkce jsou samostatné a volné entity.

Podporuje zapouzdření. Data a funkce jsou zapouzdřeny dohromady ve formě objektu. Třída objektů poskytuje strukturu objektu.

Informace se skrývají

C nepodporuje skrytí informací. Zde jsou data volné entity a mohou být manipulovány externím kódem.

Zapouzdření skryje data tak, aby bylo zajištěno, že datové struktury a operátory jsou používány podle určení.

Data

Podporuje vestavěné a primitivní datové typy.

Data nejsou zajištěna kvůli orientaci bez objektů

Podporuje vestavěné i uživatelsky definované datové typy.

Data jsou v C ++ zabezpečená (skrytá)

Úroveň

Jazyk nízké úrovně

Středně pokročilý jazyk

Vstup výstup

Jazyk "C" používá scanf () a printf () pro vstup a výstup.

Jazyk "C ++" používá operátory cin >> a cout << pro vstup a výstup.

Prohlášení o proměnných

C vyžaduje, aby jeden deklaroval všechny proměnné v horní části programu.

V jazyce C ++ mohou být proměnné deklarovány kdekoliv v programu před použitím.

Více prohlášení

Více deklarací globálních proměnných je povoleno.

Více prohlášení o globálních proměnných není povoleno.

Mapování

Mapování mezi daty a funkcemi je obtížné a komplikované.

Mapování mezi daty a funkcemi lze použít pomocí "objektů"

Programování GUI

C podporuje nástroj GTK pro programování GUI

C ++ podporuje Qt nástroje pro programování GUI

Dědictví

Dědictví není možné v C

Dědictví je možné v jazyce C ++

Přípona souboru

Má příponu souboru .c

Má příponu souboru .cpp

Výchozí soubor záhlaví

Výchozí soubor záhlaví používaný v jazyce C je stdio.h

Výchozí soubor záhlaví používaný v C ++ je iosteam.h

Některé příklady rozdílu mezi C a C ++:

Příklady

C

C ++

Prohlášení o proměnných

Pouze nahoře:

int i;

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

Kdekoli v programu:

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

Přidělení paměti

Malloc:

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

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

Nový:

int * x = nový int;

int * x_array = nový int [10];

Uvolnění paměti

Volný, uvolnit:

zdarma (x);

zdarma (x_array);

Smazat:

delete x;

odstranit [] x_array;

Doporučená

Související Články

  • populární srovnání: Rozdíl mezi šerifem a Cop

    Rozdíl mezi šerifem a Cop

    Klíčový rozdíl : Rozdíl mezi policistou a šerifem se týká jejich oblasti působnosti. Šerif je zvolen občany a v jeho kraji udržuje zákon a pořádek. Policista je vládní úředník, který se stará o vymáhání práva v konkrétním městě, obci, městě nebo vesnici. Policisté a šerifi jsou mírní důstojníci, kteří riskují svůj život pro bezpečnost a bezpečnost svých komunit. Oba oba patří do organizace pro vymáhání prá
  • populární srovnání: Rozdíl mezi bankou a úvěrovou unií

    Rozdíl mezi bankou a úvěrovou unií

    Hlavní rozdíl: Banky jsou soukromé instituce, které svým zákazníkům poskytují bankovní služby. Družstevní záložny jsou neziskové instituce, které vlastní a řídí její členové. Banky a družstevní záložny mají spíše podobnou povahu, neboť poskytují finanční služby, jako jsou spořitelní účty a úvěry na bydlení. V některých klíčových charakteristikách s
  • populární srovnání: Rozdíl mezi Bajaj Pulsar 180cc DTSI a Bajaj Pulsar 220cc DTSI

    Rozdíl mezi Bajaj Pulsar 180cc DTSI a Bajaj Pulsar 220cc DTSI

    Klíčový rozdíl: Bajaj Pulsar 180cc DTS-i a DTS-i 220cc jsou oba produkty od firmy pojmenované jako Bajaj Auto. Oba jsou vybaveny technologií DTS-i. V mnoha specifikacích se liší. Pulsar 180 cc DTS-i je dobrá hodnota za peníze a může být upřednostňován pro svůj nejvyšší sportovní vzhled. Na druhou stranu, po
  • populární srovnání: Rozdíl mezi iPhone 5C a iPhone 4S

    Rozdíl mezi iPhone 5C a iPhone 4S

    Hlavní rozdíl: iPhone 5C je levnější variantou iPhone 5S od společnosti Apple Inc. iPhone 4S předchází iPhone 4S a byl zahájen po iPhone 4. Byl oficiálně propuštěn v říjnu 2011. Apple oznámil dva nové modely telefonů, iPhone 5S a iPhone 5C. Telefon byl spuštěn 10. září 2013. iPhone 5C je hlavně považován za levnější variantu iPhone 5S. Nicméně, zatímco to je levně
  • populární srovnání: Rozdíl mezi hlídaním a péčí o děti

    Rozdíl mezi hlídaním a péčí o děti

    Klíčový rozdíl: Hlídání dětí je druh péče o děti, kde se teenagery starají o děti, výměnou za nějaké kapesné. Péče o děti je aktem péče a dozoru nad dítětem v nepřítomnosti jeho rodičů / opatrovníků. Hlídání dětí je vlastně druh péče o děti, kdy se teenageři dočasně starají o děti, dokud se jejich rodiče / opatrovníci nevrátí z práce. Babysittery jsou obecně teenageři, kteří chtějí v
  • populární srovnání: Rozdíl mezi LG Optimus L7 II Dual a Nexus 4

    Rozdíl mezi LG Optimus L7 II Dual a Nexus 4

    Hlavní rozdíl: LG Optimus L7 II Dual je telefon střední třídy od společnosti LG. Telefon je telefon s dvou SIM kartami. Zařízení je vybaveno 4, 3 palcovým IPS LCD, kapacitní dotykovou obrazovkou s rozlišením 480 x 800 pixelů. Spouští se v systému Android v 4.1.2 (JellyBean), který je podporován procesorem Snapdragon Qualcomm MSM8225 Snapdragon s dvojjádrovým výkonem 1, 0 GHz a 768 MB paměti RAM. Nexus 4 je čtvrtý Andr
  • populární srovnání: Rozdíl mezi Samsung Galaxy S4 Mini a Samsung Galaxy S4

    Rozdíl mezi Samsung Galaxy S4 Mini a Samsung Galaxy S4

    Klíčový rozdíl: Společnost Samsung oficiálně oznámila malému bratrovi své zcela nové vlajkové lodi: Samsung Galaxy S4 Mini. Telefon je dodáván s 4, 3 palcovou kapacitní dotykovou obrazovkou qHD Super AMOLED s kapacitou ~ 256 ppi. Hmotnost telefonu byla také snížena na 107 gramů pro model 3G a 108 gramů pro model LTE. Samsung Galaxy S4
  • populární srovnání: Rozdíl mezi mzdovým účtem a běžným účtem v bankách

    Rozdíl mezi mzdovým účtem a běžným účtem v bankách

    Hlavní rozdíl: Mzdový účet je bankovní účet určený a nabízen hlavně osobám s platy. Na druhou stranu běžný účet je účet, který je navržen tak, aby vyhovoval potřebám podnikatelů, firem, společností, veřejných podniků apod. Každý z nich má své výhody a výhody. V podstatě v dnešním světě má každý bankovní účet. Bankovní účet usnadňuje skladování a využíván
  • populární srovnání: Rozdíl mezi CTBT a NPT

    Rozdíl mezi CTBT a NPT

    Klíčový rozdíl: Svět se snaží ovládat chemické a jaderné zbraně. CTBT, což je Smlouva o úplném zákazu testování, je smlouvou, která zakazuje všechny jaderné výbuchy ve všech prostředích. Smlouva o nešíření jaderných zbraní znamená Smlouvu o nešíření jaderných zbraní, jejíž cílem je zabránit jaderných zbraních pro mírové využití jaderné energie. Smlouva o úplném zákazu testování (CTBT) byla

Redakce Choice

Rozdíl mezi Bitcoin a Ripple

Klíčový rozdíl: Bitcoin byl první úspěšně implementovaný protokol šifrovacího protokolu typu peer-to-peer. Ripple byl původně systém platebního styku, směnárny a remitencí. Nakonec vybudovala svou síť tak, aby zahrnovala svůj vlastní crypocurrency nazvaný zvlnění. Bitcoin je typ protokolu peer-to-peer kryptocurrency. Crypto-měna je typ digit