Hovedforskjell: C og C ++ er to forskjellige programmeringssprog. C ++ ble utviklet fra C programmeringsspråket; men de er ganske forskjellige i naturen. Den mest åpenbare forskjellen er at C er et prosessorientert språk, mens C ++ støtter både prosessorisk og objektorientert programmering, derfor kalles det ofte et hybrid språk.

C er et av de eldste, for tiden brukte programmeringsspråk, og er et av de mest brukte programmeringsspråkene. Det har blitt stadig brukt i applikasjoner som tidligere hadde kodet i monteringsspråk. Dette inkluderer UNIX-datamaskinens operativsystem. C har også direkte eller indirekte påvirket mange av de senere programmeringsspråkene, for eksempel C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python og Unix C-shell. Til tross for alle disse nye språkene er C fortsatt et populært programmeringsspråk.
C ++ startet opprinnelig som en forbedring til C. Den ble designet for å være kilde og kobling kompatibel med C. Den la imidlertid til klasser, virtuelle funksjoner, overbelastning av operatør, flere arv, maler, unntakshåndtering osv. Til slutt utviklet den nok til å bli betraktet som et programmeringsspråk i sin egen rett. Den ble opprinnelig ratifisert i 1998 som ISO / IEC 14882: 1998 sertifisert programmeringsspråk. I dag er C + + nå vanlig for hardware design.
C er et generell programmeringsspråk som bruker semikolon (;) som en setningsterminator, samt krøllete braces ({}) for gruppering av blokker av setninger. Den har fasiliteter for strukturert programmering og designen gir konstruksjoner som kan kartlegge effektivt til typiske maskininstruksjoner. Det tillater også leksikalsk variabel omfang og rekursjon og har et statisk type system som forhindrer mange utilsiktede operasjoner.
Men i forhold til C ++ har C mange begrensninger. Siden C ikke er objektorientert, støtter den ikke OOPS-konsepter. C støtter ikke funksjon og overbelastning av operatøren. Det kan ikke bruke funksjoner i strukturer. Den støtter ikke virtuelle funksjoner og referansevariabler, eller unntakshåndtering. Den støtter heller ikke referansevariabler. I tillegg gjør C heller ikke innkapsling eller datasikring. Til sammenligning støtter C ++ alle disse funksjonene.

De to språkene varierer også på samme måte som adresseminnet fungerer, inngangs- og GUI-programmering. For eksempel bruker C calloc (), malloc () og gratis () funksjoner for å tildele og de-allokere minne, mens C ++ bruker nytt og slett. C bruker scanf () og printf () for inngang og utgang, mens C ++ bruker kin >> og cout << -operatører. C støtter GTK verktøy for GUI programmering, mens C ++ støtter Qt verktøy for GUI programmering. En annen forskjell er at C krever en å deklarere alle variablene øverst i programmet, mens i C ++ kan variablene deklareres hvor som helst i programmet.
I tillegg er C ++ vanligvis ansett for å være enklere å lære, da det er mer brukervennlig enn C. C ++ har også en rekke tilleggsfunksjoner som gjør kodingen lettere, spesielt for noen som er ny på C-rammen. Mange hevder imidlertid at det faktisk betyr noe. De to språkene er så forskjellige at de faktisk kan være to forskjellige språk uavhengig av hverandre. En ting å huske på er at C er mye mer strukturert enn C ++, mens C ++ er utformet for å være mer uttrykksfulle og abstrakte enn C.
Sammenligning mellom C og C ++:
C | C ++ | |
stiftet | Utviklet av Dennis Ritchie på AT & T Bell Labs mellom 1969 og 1973. | Utviklet av Bjarne Stroustrup på Bell Labs fra 1979. |
Kildekode | Free-format program kildekode | Opprinnelig utviklet fra C programmeringsspråket |
Språk | Fremgangsmåte Orientert språk | Støtter både prosessoriske og objektorienterte programmeringsparadigmer; derfor kalles det ofte et hybrid språk. |
Nærme seg | Følger topp-ned tilnærming. | Følger bunn opp tilnærming. |
Forhold | C er en delmengde av C ++. Det kan ikke kjøre C ++-koden. | C ++ er en supersett av C. C ++ kan kjøre mesteparten av C-koden mens C ikke kan kjøre C ++-koden. |
Kjøre | Funksjonsdrevet språk | Objektdrevet språk |
Fokus | Fokuserer på metode eller prosess i stedet for data. | Fokuserer på data i stedet for metode eller prosedyre. |
Byggeklosser | funksjoner | objekter |
nøkkelord | Inneholder 32 nøkkelord | Inneholder 52 nøkkelord |
OOPS Konsepter | Som "C" -språket er prosessorientert språk, støtter det ikke OOPS-konsepter som klasse, objekt, arv, polymorfisme, data gjemmer, etc. | Som et objektorientert språk støtter C ++ klasse, objekt, data gjemmer, polymorfisme, arv, abstraksjon, etc. |
funksjoner |
|
|
Minnefunksjoner | Bruker calloc (), malloc () og gratis () funksjoner for å tildele og de-allokere minne. | Bruker operatører ny og slett for samme formål. |
innkapsling | Støtter ikke. Data og funksjoner er separate og frie enheter. | Støtter innkapsling. Data og funksjoner er innkapslet sammen i form av en gjenstand. Objektklasse gir en tegning av objektets struktur. |
Informasjon gjemmer seg | C støtter ikke informasjon gjemmer seg. Her er data gratis enheter og kan manipuleres av utenfor kode. | Innkapsling skjuler dataene for å sikre at datastrukturer og operatører blir brukt som beregnet. |
Data | Støtter innebygde og primitive datatyper. Data er ikke sikret på grunn av ikke-objektorienterte | Støtter både innebygd og bruker definere datatyper. Data er sikret (skjult) i C ++ |
Nivå | Lavnivå språk | Språk på mellomnivå |
Input-output | 'C' språk bruker scanf () og printf () for inngang og utgang. | 'C ++' språk bruker kin >> og cout << -operatører for inngang og utgang. |
Erklæring om variabler | C krever at man deklarerer alle variablene øverst i programmet. | I C ++ kan variablene deklareres hvor som helst i programmet før bruk. |
Flere erklæringer | Flere deklarasjoner av globale variabler er tillatt. | Flere deklarasjoner av globale variabler er ikke tillatt. |
Kartlegging | Kartlegging mellom data og funksjon er vanskelig og komplisert. | Kartlegging mellom data og funksjon kan brukes med "objekter" |
GUI programmering | C støtter GTK verktøy for GUI programmering | C ++ støtter Qt-verktøy for GUI programmering |
Arv | Arv er ikke mulig i C | Arv er mulig i C ++ |
Filutvidelse | Har filtypenavn .c | Har filtypenavn .cpp |
Standard header-fil | Standard headerfilen som brukes i C-språk er stdio.h | Standard topptekstfilen som brukes i C ++ er iosteam.h |
Noen eksempler på forskjell mellom C og C ++:
eksempler | C | C ++ |
Variabeldeklarasjon | Bare på toppen: int jeg; for (i = 10; i <10; i ++) | Overalt i programmet: for (inti = 10; i <10; i ++) |
Minneallokering | malloc: int * x = malloc (sizeof (int)); int * x_array = malloc (sizeof (int) * 10); | Ny: int * x = ny int; int * x_array = new int [10]; |
Frigjør minne | Gratis: gratis (x); gratis (x_array); | Slett: slette x; slett [] x_array; |