Differenza tra C e C ++ con esempi | Linguaggi di programmazione

Differenza fondamentale: C e C ++ sono due diversi linguaggi di programmazione per computer. C ++ è stato sviluppato dal linguaggio di programmazione C; tuttavia sono di natura abbastanza diversa. La differenza più ovvia è che C è un linguaggio orientato alla procedura, mentre il C ++ supporta sia la programmazione procedurale che quella orientata agli oggetti, quindi viene spesso chiamato un linguaggio ibrido.

C e C ++ sono due diversi linguaggi di programmazione per computer. C è stato originariamente sviluppato da Dennis Ritchie presso AT & T Bell Labs tra il 1969 e il 1973. Il C ++ è un altro linguaggio di programmazione generico. È stato sviluppato dal linguaggio di programmazione C originale. E 'stato sviluppato da Bjarne Stroustrup presso i Bell Labs a partire dal 1979. Il C ++ era originariamente chiamato C con Classes, poiché era basato su C. E' stato ribattezzato C ++ nel 1983.

C è uno dei più vecchi linguaggi di programmazione attualmente utilizzati ed è uno dei linguaggi di programmazione più diffusi. È stato costantemente utilizzato in applicazioni che avevano precedentemente codificato in linguaggio assembly. Ciò include il sistema operativo del computer UNIX. C ha anche influenzato direttamente o indirettamente molti dei linguaggi di programmazione successivi, come C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python e la shell C di Unix. Nonostante tutti questi nuovi linguaggi, C rimane ancora un linguaggio di programmazione popolare.

C ++ originariamente iniziato come un miglioramento di C. E 'stato progettato per essere compatibile source-and-link con C. Tuttavia, ha aggiunto classi, funzioni virtuali, overloading dell'operatore, ereditarietà multipla, modelli, gestione delle eccezioni, ecc. Alla fine, ha sviluppato abbastanza da essere considerato un linguaggio di programmazione a sé stante. È stato originariamente ratificato nel 1998 come linguaggio di programmazione certificato ISO / IEC 14882: 1998. Oggi, C ++ è ora comunemente usato per la progettazione hardware.

C è un linguaggio di programmazione generico che utilizza il punto e virgola (;) come terminatore di istruzioni, nonché parentesi graffe ({}) per il raggruppamento di blocchi di istruzioni. Dispone di strutture per la programmazione strutturata e il suo design fornisce costrutti in grado di mappare in modo efficiente le istruzioni tipiche della macchina. Permette inoltre la ricorsione e lo scope variabile lessicale e ha un sistema di tipo statico, che impedisce molte operazioni non volute.

Tuttavia, rispetto al C ++, C ha numerose limitazioni. Poiché C non è orientato agli oggetti, non supporta i concetti OOPS. C non supporta la funzione e il sovraccarico dell'operatore. Non può usare le funzioni all'interno delle strutture. Non supporta funzioni virtuali e variabili di riferimento o gestione delle eccezioni. Inoltre non supporta le variabili di riferimento. Inoltre, C non incapsula o protegge i dati. In confronto, C ++ supporta tutte queste funzionalità.

Inoltre, C non supporta la funzionalità NAMESPACE, mentre C ++ lo fa. Uno spazio dei nomi è una regione definitiva che consente di raggruppare gli identificatori (i nomi di tipi, funzioni, variabili, ecc.). Gli spazi dei nomi possono quindi essere utilizzati per organizzare il codice in gruppi logici e per evitare conflitti di nomi. Ciò è particolarmente utile quando la base di codice include più librerie, che idealmente rende il codice incline al nome delle collisioni.

Le due lingue differiscono anche per le funzioni di memoria degli indirizzi, input-output e programmazione della GUI. Ad esempio, C usa le funzioni calloc (), malloc () e free () per allocare e de-allocare memoria, mentre C ++ utilizza new e delete. C usa scanf () e printf () per input e output, mentre C ++ usa cin >> e cout << operator. C supporta lo strumento GTK per la programmazione GUI, mentre C ++ supporta gli strumenti Qt per la programmazione GUI. Un'altra differenza è che C richiede uno per dichiarare tutte le variabili nella parte superiore del programma, mentre in C ++, le variabili possono essere dichiarate in qualsiasi punto del programma.

Inoltre, il C ++ è solitamente considerato più facile da imparare, in quanto più user friendly di C. C ++ ha anche numerose funzioni aggiuntive che rendono la codifica più semplice, specialmente per chi è nuovo nel framework C. Tuttavia, molti affermano che in realtà contano. Le due lingue differiscono così tanto, che possono infatti essere due lingue diverse indipendenti l'una dall'altra. Una cosa da tenere a mente è che C è molto più strutturato di C ++, mentre C ++ è stato progettato per essere più espressivo e astratto di C.

Confronto tra C e C ++:

C

C ++

Fondato

Sviluppato da Dennis Ritchie presso AT & T Bell Labs tra il 1969 e il 1973.

Sviluppato da Bjarne Stroustrup presso i Bell Labs a partire dal 1979.

Codice sorgente

Codice sorgente del programma in formato libero

Originariamente sviluppato dal linguaggio di programmazione C

linguaggio

Linguaggio orientato alla procedura

Supporta paradigmi di programmazione sia procedurali che object oriented; quindi è spesso chiamato un linguaggio ibrido.

Approccio

Segue l'approccio top-down.

Segue l'approccio dal basso verso l'alto.

Relazione

C è un sottoinsieme di C ++. Non può eseguire codice C ++.

C ++ è un superset di C. C ++ può eseguire la maggior parte del codice C mentre C non può eseguire il codice C ++.

Guidare

Linguaggio basato sulle funzioni

Linguaggio basato su oggetti

Messa a fuoco

Si concentra sul metodo o sul processo piuttosto che sui dati.

Si concentra sui dati piuttosto che sul metodo o sulla procedura.

Costruzioni

funzioni

Oggetti

parole

Contiene 32 parole chiave

Contiene 52 parole chiave

OOPS Concetti

Poiché il linguaggio "C" è linguaggio orientato alle procedure, non supporta i concetti OOPS come classe, oggetto, ereditarietà, polimorfismo, nascondimento dei dati, ecc.

Come linguaggio orientato agli oggetti, C ++ supporta classi, oggetti, nascondigli di dati, polimorfismo, ereditarietà, astrazione, ecc.

funzioni

  • Non supporta la funzione e il sovraccarico dell'operatore.
  • Non è possibile utilizzare le funzioni all'interno delle strutture
  • Non supporta funzioni virtuali e variabili di riferimento
  • Non supporta la gestione delle eccezioni
  • non supporta le variabili di riferimento
  • non ha la funzione namespace
  • può chiamare la funzione main () attraverso altre funzioni
  • Supporta il sovraccarico della funzione e dell'operatore.
  • Può usare funzioni all'interno di strutture
  • Supporta funzioni virtuali e variabili di riferimento.
  • Supporta la gestione delle eccezioni usando try e catch block. Le eccezioni sono utilizzate per errori "hard" che rendono il codice errato.
  • supporta le variabili di riferimento
  • utilizza la funzione NAMESPACE che evita le collisioni di nomi.
  • impossibile chiamare la funzione main () tramite altre funzioni.

Funzioni di memoria

Utilizza le funzioni calloc (), malloc () e free () per allocare e disallocare la memoria.

Utilizza gli operatori nuovi e cancella per lo stesso scopo.

incapsulamento

Non supporta. Dati e funzioni sono entità separate e libere.

Supporta l'incapsulamento. Dati e funzioni sono incapsulati insieme nella forma di un oggetto. La classe di oggetti fornisce un modello della struttura dell'oggetto.

Nascondere informazioni

C non supporta l'occultamento delle informazioni. Qui, i dati sono entità libere e possono essere manipolati da codice esterno.

L'incapsulamento nasconde i dati per garantire che le strutture dati e gli operatori siano utilizzati come previsto.

Dati

Supporta tipi di dati incorporati e primitivi.

I dati non sono protetti a causa di non orientato agli oggetti

Supporta sia i tipi di dati predefiniti che quelli definiti dall'utente.

I dati sono protetti (nascosti) in C ++

Livello

Linguaggio di basso livello

Lingua di medio livello

Input Output

La lingua 'C' usa scanf () e printf () per l'input e l'output.

Il linguaggio 'C ++' usa cin >> e cout << operatori per input e output.

Dichiarazione di variabili

C richiede uno per dichiarare tutte le variabili nella parte superiore del programma.

In C ++, le variabili possono essere dichiarate in qualsiasi punto del programma prima dell'uso.

Dichiarazione multipla

Sono ammesse dichiarazioni multiple di variabili globali.

Non sono consentite dichiarazioni multiple di variabili globali.

Mappatura

La mappatura tra dati e funzioni è difficile e complicata.

La mappatura tra dati e funzioni può essere utilizzata usando "Oggetti"

Programmazione GUI

C supporta lo strumento GTK per la programmazione GUI

C ++ supporta gli strumenti Qt per la programmazione GUI

Eredità

L'ereditarietà non è possibile in C

L'ereditarietà è possibile in C ++

Estensione del file

Ha estensione file .c

Ha estensione file .cpp

File di intestazione predefinito

Il file di intestazione predefinito utilizzato nel linguaggio C è stdio.h

Il file di intestazione predefinito utilizzato in C ++ è iosteam.h

Alcuni esempi di differenza tra C e C ++:

Esempi

C

C ++

Dichiarazione variabile

Solo in alto:

int i;

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

Ovunque nel programma:

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

Allocazione della memoria

malloc:

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

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

Nuovo:

int * x = new int;

int * x_array = new int [10];

Rilasciando la memoria

Gratuito:

libero (x);

libero (x_array);

Elimina:

cancella x;

elimina [] x_array;

Raccomandato

Articoli Correlati

  • confronti popolari: Differenza tra iOS e Android

    Differenza tra iOS e Android

    Differenza principale : Android e iOS, entrambi sono sistemi operativi utilizzati in cellulari, tablet e smartphone. La principale differenza tra i due è basata sulla loro interfaccia utente e azienda. IOS è un sistema operativo proprietario, mentre Android è un sistema operativo open source. La maggior parte degli utenti di dispositivi mobili è fedele ai propri dispositivi tanto quanto lo è per le loro squadre sportive, la loro band preferita o la loro marca preferita di caffè. Uno
  • confronti popolari: Differenza tra Windows 8 e Windows 8.1

    Differenza tra Windows 8 e Windows 8.1

    Differenza fondamentale: Windows 8 e Windows 8.1 sono le ultime versioni del sistema operativo Windows di Microsoft. Windows 8.1 è simile a quello di Windows 8, ma è costituito da funzionalità più avanzate e aggiornate. Windows 8 è un sistema operativo aggiornato e più recente di Microsoft. È l'ottava versione di Microsoft Windows ed è stato rilasciato sul mercato il 26 ottobre 2012. Si tra
  • confronti popolari: Differenza tra Kindergarten e Childcare

    Differenza tra Kindergarten e Childcare

    Differenza fondamentale: l' asilo è un tipo di scuola materna che si sforza di educare i bambini piccoli attraverso i giochi e le attività divertenti. L'assistenza all'infanzia si riferisce alla cura di un bambino per il tempo fino a quando il genitore o il tutore legale non torna dal proprio lavoro.
  • confronti popolari: Differenza tra nanismo e acondroplasia

    Differenza tra nanismo e acondroplasia

    Differenza fondamentale : il nanismo è definito come la condizione di essere un nano. L'acondroplasia è un disturbo scheletrico, che è caratterizzato dal fallimento della normale conversione della cartilagine nell'osso che inizia durante la vita fetale e provoca nanismo. L'acondroplasia è una forma di nanismo corto e articolato. La
  • confronti popolari: Differenza tra dottorato e dottorato

    Differenza tra dottorato e dottorato

    Differenza chiave: un dottorato è la qualifica più alta e prestigiosa per varie discipline accademiche. Ph.D. è l'acronimo di Doctor of Philosophy ed è un tipo specifico di dottorato. Ph.D. è emerso dal Dottorato e quindi è anche noto come dottorato di ricerca. Un dottorato è la qualifica più alta e prestigiosa per varie discipline accademiche. Ph.D.
  • confronti popolari: Differenza tra enzimi e ormoni

    Differenza tra enzimi e ormoni

    Differenza fondamentale: un enzima è un catalizzatore altamente selettivo che accelera notevolmente sia la velocità che la specificità delle reazioni metaboliche. Un ormone, d'altra parte, è una sostanza chimica rilasciata da una cellula o da una ghiandola in una parte del corpo che invia messaggi che influenzano le cellule in altre parti dell'organismo. En
  • confronti popolari: Differenza tra Ovulo e Sperma

    Differenza tra Ovulo e Sperma

    Differenza chiave: lo sperma è il gamete prodotto nel testicolo di un maschio, mentre l'ovulo è il gamete prodotto nell'ovaia di una femmina. I gameti possono essere descritti come una cellula riproduttiva recante un singolo set di cromosomi non accoppiati. Ovum è anche conosciuto come un ovulo. Q
  • confronti popolari: Differenza tra piastrelle vetrificate e piastrelle rettificate

    Differenza tra piastrelle vetrificate e piastrelle rettificate

    Differenza fondamentale: le piastrelle vetrificate possiedono la proprietà di una minore ritenzione idrica e queste piastrelle sono apprezzate per la loro resistenza e resistenza alle macchie. D'altra parte, le tessere rettificate o le tessere a spigolo vivo hanno bordi semplici e quadrati e vengono prima cotti e quindi tagliati in forme desiderabili.
  • confronti popolari: Differenza tra Off Break e Off Spin

    Differenza tra Off Break e Off Spin

    Differenza chiave: "Off break" è una consegna off-spin per un bowler destrimano e un battitore di mano destra, che girerà dal lato off al lato gamba. 'Off-spin' è una forma di bowling in cui il lanciatore impartisce spin sulla palla con le dita mentre la palla viene consegnata. Ci sono molte diverse terminologie di cricket che sono conosciute dagli appassionati di cricket. P

Scelta Del Redattore

Differenza tra Alcatel One Touch Idol Ultra e Alcatel One Touch Idol

Differenza fondamentale: Alcatel One Touch Idol Ultra è dotato di un touchscreen capacitivo AMOLED HD da 4, 65 pollici con una risoluzione di 720 x 1280 pixel. Il telefono è alimentato da un processore Dual-core da 1, 2 GHz su un MediaTek MTK 6577 e 1 GB di RAM. Il telefono ha una larghezza di 6, 45 mm, che ha portato l'azienda a pubblicizzarlo come lo smartphone più sottile sul mercato. A