Skillnad mellan C och C ++ med exempel | Programmeringsspråk

Huvudskillnad: C och C ++ är två olika datorprogrammeringsspråk. C ++ utvecklades från C programmeringsspråket; men de är helt annorlunda i naturen. Den mest uppenbara skillnaden är att C är ett procedurorienterat språk, medan C ++ stöder både procedur- och objektorienterad programmering, därför kallas det ofta ett hybrid språk.

C och C ++ är två olika datorprogrammeringsspråk. C utvecklades ursprungligen av Dennis Ritchie hos AT & T Bell Labs mellan 1969 och 1973. C ++ är ett annat allmänt användande programmeringsspråk. Det utvecklades från det ursprungliga C-programmeringsspråket. Det utvecklades av Bjarne Stroustrup vid Bell Labs, som startades 1979. C ++ heter ursprungligen C med Classes, eftersom det hade baserats på C. Det döptes om till C ++ 1983.

C är ett av de äldsta för närvarande använda programmeringsspråken och är ett av de mest använda programmeringsspråken. Den har ständigt använts i applikationer som tidigare kodats i monteringsspråk. Detta inkluderar UNIX-operativsystemet. C har också direkt eller indirekt påverkat många av de senare programmeringsspråken, som C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python och Unix C-skal. Trots alla dessa nya språk är C fortfarande ett populärt programmeringsspråk.

C ++ startade ursprungligen som en förbättring till C. Den var avsedd att vara källa-och-länk kompatibel med C. Men den tillade klasser, virtuella funktioner, överbelastning av operatörer, flera arv, mallar, undantagshantering etc. Till sist utvecklades det tillräckligt för att betraktas som ett programmeringsspråk i sig. Det ratificerades ursprungligen 1998 som ISO / IEC 14882: 1998 certifierat programmeringsspråk. Idag används C ++ nu vanligtvis för hårdvaru design.

C är ett allmänt programmerat språkspråk som använder semikolon (;) som uttalandeterminator, såväl som krullningsstöd ({}) för gruppering av block av uttalanden. Den har faciliteter för strukturerad programmering och dess design ger konstruktioner som kan kartlägga effektivt på typiska maskininstruktioner. Det möjliggör också lexiskt variabelt räckvidd och rekursion och har ett statiskt typsystem som förhindrar många oavsiktliga operationer.

Men i jämförelse med C ++ har C många begränsningar. Eftersom C inte är objektorienterad, stöder den inte OOPS-koncept. C stöder inte funktion och överbelastning av operatören. Det kan inte använda funktioner inom strukturerna. Den stöder inte virtuella funktioner och referensvariabler eller undantagshantering. Den stöder inte heller referensvariabler. Dessutom inkapslar C inte inkapsling eller datasäkerhet. I jämförelse stöder C ++ alla dessa funktioner.

Dessutom stödjer C inte NAMESPACE-funktionen, medan C ++ gör det. En namnrymd är en definitiv region som tillåter en att gruppidentifiera (namnen på typer, funktioner, variabler, etc.). Namnrymder kan sedan användas för att organisera koden i logiska grupper och för att förhindra namnkollisioner. Det här är särskilt användbart när kodbasen innehåller flera bibliotek, vilket idealiskt gör koden benägen att namnge kollisioner.

De två språken skiljer sig också på det sätt som adressminnet fungerar, ingång och utgång och GUI-programmering. Till exempel använder C funktionerna calloc (), malloc () och free () för att allokera och avdela minne medan C ++ använder nytt och raderar. C använder scanf () och printf () för inmatning och utmatning, medan C ++ använder cin >> och cout << -operatörer. C stöder GTK-verktyg för GUI-programmering, medan C ++ stöder Qt-verktyg för GUI-programmering. En annan skillnad är att C kräver en att deklarera alla variabler längst upp i programmet, medan i C ++ kan variablerna deklareras var som helst i programmet.

Dessutom anses C ++ oftast vara lättare att lära sig, eftersom det är mer användarvänligt än C. C ++ har också många ytterligare funktioner som gör kodningen enklare, speciellt för någon som är ny på C-ramen. Men många hävdar att det faktiskt betyder något. De två språken skiljer sig så mycket, att de faktiskt kan vara två olika språk oberoende av varandra. En sak att komma ihåg är att C är mycket mer strukturerad än C ++, medan C ++ är utformad för att vara mer uttrycksfull och abstrakt än C.

Jämförelse mellan C och C ++:

C

C ++

Grundad

Utvecklad av Dennis Ritchie på AT & T Bell Labs mellan 1969 och 1973.

Utvecklad av Bjarne Stroustrup vid Bell Labs från 1979.

Källkod

Kodkod för friformatprogramkod

Ursprungligen utvecklad från C-programmeringsspråket

Språk

Förfarande Orienterat språk

Stöder både procedur- och objektorienterade programmeringsparadigmer; därför kallas det ofta ett hybrid språk.

Närma sig

Följer topp-down-tillvägagångssätt.

Följer botten upp tillvägagångssätt

Relation

C är en delmängd av C ++. Det kan inte köra C ++-kod.

C ++ är en superset av C. C ++ kan köra större delen av C-koden medan C inte kan köra C ++-kod.

Kör

Funktionsdriven språk

Objektdrivet språk

Fokus

Fokuserar på metod eller process snarare än data.

Fokuserar på data istället för metod eller procedur.

Byggklossar

funktioner

Objekt

Nyckelord

Innehåller 32 nyckelord

Innehåller 52 nyckelord

OOPS Concepts

Som "C" -språket är procedurorienterat språk stöder det inte OOPS-begrepp som klass, objekt, arv, polymorfism, datafelning etc.

Som ett objektorienterat språk stöder C ++ klass, objekt, döljande data, polymorfism, arv, abstraktion etc.

funktioner

  • Stödjer inte funktion och överbelastning av operatören.
  • Kan inte använda funktioner inuti strukturer
  • Stöder inte virtuella funktioner och referensvariabler
  • Stödjer inte undantagshantering
  • Stödjer inte referensvariabler
  • har inte namnrymdfunktion
  • kan ringa huvudfunktionen () via andra funktioner
  • Stöder funktion och överbelastning av operatören.
  • Kan använda funktioner inuti strukturer
  • Stöder virtuella funktioner och referensvariabler.
  • Stöder undantagshantering med hjälp av försök och fångstblock. Undantag används för "hårda" fel som gör koden felaktig.
  • stöder referensvariabler
  • använder NAMESPACE-funktion som undviker namnkollisioner.
  • kan inte ringa huvudfunktionen () Funktion via andra funktioner.

Minnesfunktioner

Använder calloc (), malloc () och gratis () funktioner för allokering och avallokering av minne.

Använder operatörer nya och raderar i samma syfte.

inkapsling

Stödjer inte. Data och funktioner är separata och fria enheter.

Stöder inkapsling. Data och funktioner inkapslas ihop i form av ett objekt. Objekts klass ger en ritning om objektets struktur.

Information gömmer sig

C stöder inte information som gömmer sig. Här är data gratis enheter och kan manipuleras med extern kod.

Encapsulation döljer data för att säkerställa att datastrukturer och operatörer används som avsedda.

Data

Stöder inbyggda och primitiva datatyper.

Data är inte säkrat på grund av icke-objektorienterad

Stöder både inbyggda och användardefinierade datatyper.

Data är säker (dold) i C ++

Nivå

Lågnivå språk

Språk på mellannivå

Input-output

C-språk använder scanf () och printf () för inmatning och utmatning.

C ++-språk använder cin >> och cout << -operatörer för inmatning och utmatning.

Förklaring av variabler

C kräver en att deklarera alla variabler längst upp i programmet.

I C ++ kan variablerna deklareras var som helst i programmet före användning.

Multipla deklarationen

Multipla deklarationen av globala variabler är tillåtna.

Multipla deklarationen av globala variabler är inte tillåtna.

kartläggning

Kartläggning mellan data och funktion är svårt och komplicerat.

Kartläggning mellan data och funktion kan användas med "objekt"

GUI programmering

C stöder GTK-verktyg för GUI-programmering

C ++ stöder Qt-verktyg för GUI-programmering

Arv

Erfarenhet är inte möjlig i C

Erfarenhet är möjlig i C ++

Filförlängning

Har filtillägg .c

Har filtillägg .cpp

Standardhuvudfilen

Standardhuvudfilen som används i C-språk är stdio.h

Standardhuvudfilen som används i C ++ är iosteam.h

Några exempel på skillnad mellan C och C ++:

exempel

C

C ++

Variabel deklaration

Bara överst:

int jag;

för (i = 10; i <10; i ++)

Överallt i programmet:

för (inti = 10; i <10; i ++)

Minnesallokering

malloc:

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

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

Ny:

int * x = new int;

int * x_array = new int [10];

Frigör minne

Fri:

fri (x);

fri (x_array);

Radera:

radera x;

ta bort [] x_array;

Rekommenderas

Relaterade Artiklar

  • populära jämförelser: Skillnad mellan Kindle och Nook

    Skillnad mellan Kindle och Nook

    Nyckelfaktor: Både Kindle och Nook började som E-bokläsare. Amazon Kindle är en serie e-bokläsare utformade och marknadsförda av Amazon.com. The Nook är en annan serie av e-bokläsare, och en stor konkurrent till Kindle. The Nook är designad och marknadsförd av Barnes & Noble. Både Kindle och Nook började som e-bokläsare. Men övertid
  • populära jämförelser: Skillnad mellan drake och örn

    Skillnad mellan drake och örn

    Viktiga skillnader: Drakar är rovfåglar; de tenderar att vara mindre i storlek och vikt mindre. Örnar är stora rovfåglar; de är kända för sin större storlek. Drakar tenderar att vara mindre i storlek än örnar och vikt mindre. Drakar är mestadels avskräckare och kan kännas igen av en distinkt V-hak i svansen. Drakar är få
  • populära jämförelser: Skillnad mellan Samsung Galaxy S4 Mini och Samsung Galaxy S3

    Skillnad mellan Samsung Galaxy S4 Mini och Samsung Galaxy S3

    Huvudskillnad: Samsung har officiellt meddelat lilla bror till sitt helt nya flaggskepp: Samsung Galaxy S4 Mini. Telefonen levereras med en 4, 3-tums QHD Super AMOLED kapacitiv pekskärm som erbjuder ~ 256 ppi pixeldensitet. Telefonens vikt har också minskats till 107 gram för 3G-modellen och 108 gram för LTE-modellen. Ga
  • populära jämförelser: Skillnad mellan yoga och övning

    Skillnad mellan yoga och övning

    Huvudskillnad: Yoga är en disciplin som syftar till att integrera en persons fysiska, mentala och andliga skicklighet. Övning betyder all fysisk aktivitet som stimulerar kroppens vitala organ, närnar dem och stärker dem. Yoga är en gammal disciplin som följs över hela världen idag. Den kom ursprungligen i Indien för mer än 6000 år sedan. Det är re
  • populära jämförelser: Skillnad mellan Jorden och Jupiter

    Skillnad mellan Jorden och Jupiter

    Huvudskillnad: Både Earth och Jupiter är två olika planeter. Den primära skillnaden mellan båda planeterna är, jorden är den tredje planet från solen medan Jupiter är den femte planet från solen. Jord och Jupiter är två olika planeter i solsystemet, och de har inget gemensamt i varandra. De är två olika slags planeter. Jorden är de
  • populära jämförelser: Skillnad mellan Xylem och Phloem

    Skillnad mellan Xylem och Phloem

    Huvudskillnad: Xylem ansvarar för att transportera vatten och vissa näringsämnen från roten till resten av växten. Phloem bär lösligt organiskt material, dvs mat för växten, som produceras i bladen genom fotosyntes till andra delar av växten. Xylem och floloem är de två typerna av vaskulära vävnader som finns i växter. De ansvarar f
  • populära jämförelser: Skillnad mellan lyssnande och hörsel

    Skillnad mellan lyssnande och hörsel

    Huvudskillnad: Hörsel är en av de fem sinnena hos en person och det är förmågan att uppleva ljud genom att detektera vibrationer genom ett organ som örat. Lyssnande, även kallat aktivt lyssnande, är en teknik som används i kommunikationen, vilket kräver att en person uppmärksammar högtalaren och ger feedback. Lyssna är
  • populära jämförelser: Skillnad mellan stenar och mineraler

    Skillnad mellan stenar och mineraler

    Huvudskillnad: Klippor bildas av mineraler eller mineroider som stelnar i en. En sten kan bestå av en eller flera mineraler i kombination. Mineraler är homogena fasta ämnen som har vanliga strukturer och finns i stenar, malm och mineralfyndigheter i jordskorpan. Nästan alla vet att mineraler och stenar är två olika saker; men människor kan inte lista skillnaderna. Det ä
  • populära jämförelser: Skillnad mellan broschyr och katalog

    Skillnad mellan broschyr och katalog

    Huvudskillnad: En broschyr är ett kort, tryckt dokument, även känt som en broschyr. Det är ett häfte som innehåller beskrivande eller reklammaterial. Å andra sidan är en katalog ett dokument eller en bok som innehåller en specificerad lista över namn, varor eller böcker. Många blir förvirrade med de två villkoren, eftersom båda ger en del information om företagets nya produkt, hotell, butiker, etc. Det finns en m

Redaktionen

Skillnad mellan Colgate och Pepsodent

Huvudskillnad: Colgate är ett delmärke av Colgate-Palmolive. Colgate tillhandahåller en rad hygienrelaterade produkter. Namnet har varit mycket populärt för sina orala produkter. Pepsodent är ett annat ledande namn i oralvårdslösningar. Det har funnits sedan 1920. Det ger en mängd tandkräm och tandborstar. Colgate