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 smoking och kostym

    Skillnad mellan smoking och kostym

    Huvudskillnad : En kostym är ett formellt slitage som vanligtvis bärs på kontoret, medan en smoking är en mer avslappnad version av en kostym som normalt bärs på seminella formella händelser. Suit och Smoking är både det formella slitage för män. Killar säker på att klä upp sig tröttande; De går kausligt för en kostym eller en smoking, enligt deras preferenser. Men man kan for
  • populära jämförelser: Skillnad mellan Galaxy och Solar System

    Skillnad mellan Galaxy och Solar System

    Nyckelfaktor: En galax är en stor samling stjärnor som hålls ihop av gravitationsattraktion. Ett solsystem definieras som den grupp av himmelska kroppar som vrider sig runt solen på grund av dess starka dragkraft. Den största skillnaden mellan ett solsystem och en galax är i sin storlek. Solsystemet och en galax är två olika termer men ibland förväxlas med varandra. Ett sols
  • populära jämförelser: Skillnad mellan ser och ser

    Skillnad mellan ser och ser

    Huvudskillnad: Att titta på någonting innebär att titta på dina ögon eller erkänna dess närvaro. För att se, tittar inte bara på objektet men han / hon förstår det också och uppmärksammar det. I vårt försök att leva ett snabbt liv, inser ingen att livet bara går förbi. Vi tittar på saker och människor, utan att verkligen se dem. Att se och se är t
  • populära jämförelser: Skillnad mellan intelligens och kreativitet

    Skillnad mellan intelligens och kreativitet

    Huvudskillnad: Intelligens är kvaliteten på att vara väldigt smart och välinformerad. Kreativitet är förmågan att orsaka eller att existera. Det är ett subjektivt värde. Både intelligens och kreativitet är mentala förmågor. Det är en lång process att få detaljerad kunskap om dessa termer. Men den grundl
  • populära jämförelser: Skillnad mellan punkt, linje och plan

    Skillnad mellan punkt, linje och plan

    Huvudskillnad: En punkt är en punkt som betecknar en plats som har markerats på ett oändligt utrymme eller en plan yta. En linje anses vara endimensionell och introducerades för att representera raka föremål utan bredd och djup. Ett plan är en tvådimensionell plan yta som är obestämd stor med nolltjocklek. Punten,
  • populära jämförelser: Skillnad mellan Akbar och Shahjahan

    Skillnad mellan Akbar och Shahjahan

    Huvudskillnad: Akbar var den tredje Mughal kejsaren för att styra Indien. Han var en supporter av konst och litteratur. Shahjahan var den femte Mughal linjalen och stödde arkitektur och byggde också stora monument. Akbar och Shahjahan är båda välkända härskare av Mughal Empire. Dessa båda var kända för sina bidrag till imperiet och Indien i allmänhet. Akbar och
  • populära jämförelser: Skillnad mellan fettsugning och Lipo Laser

    Skillnad mellan fettsugning och Lipo Laser

    Huvudskillnad: Villkoren liposuction och lipo laser är medicinskt relaterade till varandra. Fettsugning är extraktion av fett, medan; lipo laser är fettförmågan hos fett genom laser. Fettsugning är en medicinsk operation; Det utvecklar arbetet från slutet av 1960-talet från Europa. Uppfinningen av moderna fettsugningsprocedur är kopplad till namnet på två italienska gynekologer, Arpad och Giorgio Fischer, som skapade den trubbiga tunnelmetoden 1974. Vid fetts
  • populära jämförelser: Skillnad mellan funktionshinder och nedsättning

    Skillnad mellan funktionshinder och nedsättning

    Huvudskillnad: Både termerna " funktionshinder " och " nedsättare t" används inom området funktionshinder. Handikapp är någon begränsning relaterad till en persons fysiska och mentala funktion hos en kroppsdel; medan nedskrivning är ett tillstånd där det finns en fullständig eller partiell förlust av någon kroppsdel ​​eller organ. Ett funktionshi
  • populära jämförelser: Skillnad mellan bilaga och bilaga

    Skillnad mellan bilaga och bilaga

    Huvudskillnad: Bilaga är ett dokument som bifogas slutet av forskningsprojektet eller en avhandling för att stärka data i dokumentet. En bilaga innehåller data som kan återfå saken i projektet eller avhandlingen. Bilaga och bilaga är begrepp som används vid forskningsprojekt, avhandlingar, böcker och juridiska dokument. På grun

Redaktionen

Skillnad mellan svart pepparkorn och grön paprika

Huvudskillnad: Svartpeppar är den vanligaste pepparkornen, som slipas och används som kryddor eller kryddor i många kök. Svartpeppar produceras genom att skördas när de fortfarande är gröna, orörda druvor av pepparkraften. Grön paprika, som liknar svart är gjord av omoterade paprika drupes. De kokas