Diferença entre C e C ++ com exemplos | Linguagens de programação

Diferença chave: C e C ++ são duas linguagens de programação de computador diferentes. C ++ foi desenvolvido a partir da linguagem de programação C; no entanto, eles são bastante diferentes na natureza. A diferença mais óbvia é que C é uma linguagem orientada a procedimentos, enquanto que C ++ suporta programação procedural e orientada a objetos, portanto é freqüentemente chamada de linguagem híbrida.

C e C ++ são duas linguagens de programação de computador diferentes. C foi originalmente desenvolvido por Dennis Ritchie na AT & T Bell Labs entre 1969 e 1973. C ++ é outra linguagem de programação de propósito geral. Foi desenvolvido a partir da linguagem de programação C original. Foi desenvolvido por Bjarne Stroustrup na Bell Labs a partir de 1979. C ++ foi originalmente chamado C com Classes, como tinha sido baseado em C. Ele foi renomeado para C ++ em 1983.

C é uma das mais antigas linguagens de programação usadas atualmente e é uma das linguagens de programação mais utilizadas. Ele tem sido constantemente usado em aplicativos que já haviam sido codificados em linguagem assembly. Isso inclui o sistema operacional do computador UNIX. C também influenciou direta ou indiretamente muitas das linguagens de programação posteriores, como C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python e shell C do Unix. Apesar de todas essas novas linguagens, C ainda continua sendo uma linguagem de programação popular.

Originalmente, o C ++ começou como um aprimoramento para o C. Ele foi projetado para ser compatível com o Source-and-link do C. No entanto, ele incluiu classes, funções virtuais, sobrecarga do operador, herança múltipla, modelos, tratamento de exceções, etc. o suficiente para ser considerado uma linguagem de programação por si só. Foi originalmente ratificado em 1998 como ISO / IEC 14882: 1998 linguagem de programação certificada. Hoje, o C ++ agora é comumente usado para design de hardware.

C é uma linguagem de programação de uso geral que usa ponto e vírgula (;) como um terminador de instrução, bem como chaves ({}) para agrupar blocos de instruções. Possui instalações para programação estruturada e seu design fornece construções que podem ser mapeadas de maneira eficiente para as instruções típicas da máquina. Ele também permite escopo e recursão de variável lexical e possui um sistema de tipo estático, o que evita muitas operações não intencionais.

No entanto, em comparação com C ++, C tem inúmeras limitações. Como C não é orientado a objetos, ele não suporta conceitos OOPS. C não suporta sobrecarga de função e de operador. Não pode usar funções dentro de estruturas. Não suporta funções virtuais e variáveis ​​de referência ou tratamento de exceções. Também não suporta variáveis ​​de referência. Além disso, C também não encapsula ou protege os dados. Em comparação, o C ++ suporta todos esses recursos.

Além disso, o C não suporta o recurso NAMESPACE, enquanto o C ++ o suporta. Um namespace é uma região definitiva que permite agrupar identificadores (os nomes dos tipos, funções, variáveis, etc). Os namespaces podem ser usados ​​para organizar o código em grupos lógicos e evitar colisões de nomes. Isso é especialmente útil quando a base de código inclui várias bibliotecas, o que idealmente torna o código propenso a colisões de nomes.

Os dois idiomas também diferem na maneira como as funções de memória de endereço, entrada-saída e programação de GUI. Por exemplo, C usa funções calloc (), malloc () e free () para alocar e desalocar memória, enquanto C ++ utiliza new e delete. C usa scanf () e printf () para entrada e saída, enquanto o C ++ usa os operadores cin >> e cout <<. C suporta a ferramenta GTK para programação GUI, enquanto o C ++ suporta ferramentas Qt para programação GUI. Outra diferença é que C requer que se declare todas as variáveis ​​no topo do programa, enquanto em C ++, as variáveis ​​podem ser declaradas em qualquer parte do programa.

Além disso, o C ++ é geralmente considerado mais fácil de aprender, já que é mais amigável do que C. O C ++ também possui inúmeras funções adicionais que tornam a codificação mais fácil, especialmente para alguém que é novo no framework C. No entanto, muitos afirmam que isso realmente importa. As duas línguas diferem tanto, que podem ser de fato duas línguas diferentes independentes umas das outras. Uma coisa a ter em mente é que o C é muito mais estruturado que o C ++, enquanto o C ++ foi projetado para ser mais expressivo e abstrato que o C.

Comparação entre C e C ++:

C

C ++

Fundado

Desenvolvido por Dennis Ritchie na AT & T Bell Labs entre 1969 e 1973.

Desenvolvido por Bjarne Stroustrup no Bell Labs a partir de 1979.

Código fonte

Código-fonte do programa de formato livre

Originalmente desenvolvido a partir da linguagem de programação C

Língua

Linguagem Orientada a Procedimentos

Suporta paradigmas de programação orientada a objetos e procedimentos; portanto, é frequentemente chamado de linguagem híbrida.

Abordagem

Segue a abordagem de cima para baixo.

Segue a abordagem de baixo para cima.

Relação

C é um subconjunto de C ++. Não é possível executar o código C ++.

C ++ é um superconjunto de C. C ++ pode executar a maior parte do código C enquanto C não pode executar o código C ++.

Dirigir

Linguagem orientada por funções

Linguagem orientada a objetos

Foco

Concentra-se no método ou processo, em vez de dados.

Concentra-se em dados, em vez de método ou procedimento.

Blocos de construção

Funções

Objetos

Palavras-chave

Contém 32 palavras-chave

Contém 52 Palavras-chave

OOPS Conceitos

Como a linguagem 'C' é uma linguagem orientada a procedimentos, ela não suporta conceitos OOPS como classe, objeto, herança, polimorfismo, ocultação de dados, etc.

Como uma linguagem orientada a objetos, o C ++ suporta classes, objetos, ocultação de dados, polimorfismo, herança, abstração, etc.

Funções

  • Não suporta sobrecarga de função e de operador.
  • Não é possível usar funções dentro de estruturas
  • Não suporta funções virtuais e variáveis ​​de referência
  • Não suporta manipulação de exceção
  • não suporta variáveis ​​de referência
  • não tem recurso de namespace
  • pode chamar a função main () através de outras funções
  • Suporta função e sobrecarga do operador.
  • Pode usar funções dentro de estruturas
  • Suporta funções virtuais e variáveis ​​de referência.
  • Suporta tratamento de exceções usando o bloco try e catch. Exceções são usadas para erros "difíceis" que tornam o código incorreto.
  • suporta variáveis ​​de referência
  • usa o recurso NAMESPACE, que evita colisões de nomes.
  • não pode chamar a função main () através de outras funções.

Funções de memória

Usa funções calloc (), malloc () e free () para alocar e desalocar memória.

Usa operadores novos e deletados para o mesmo propósito.

Encapsulamento

Não suporta. Dados e funções são entidades separadas e livres.

Suporta encapsulamento. Dados e funções são encapsulados juntos na forma de um objeto. A classe de objetos fornece um esquema da estrutura do objeto.

Esconder informação

C não suporta ocultação de informações. Aqui, os dados são entidades livres e podem ser manipulados por código externo.

O encapsulamento oculta os dados para garantir que as estruturas de dados e os operadores sejam usados ​​como pretendido.

Dados

Suporta tipos de dados integrados e primitivos.

Os dados não são protegidos devido a não orientados a objetos

Suporta tipos de dados internos e definidos pelo usuário.

Dados são protegidos (ocultos) em C ++

Nível

Linguagem de baixo nível

Linguagem de nível médio

Entrada-saída

A linguagem 'C' usa scanf () e printf () para entrada e saída.

A linguagem 'C ++' usa cin >> e cout << operadores para entrada e saída.

Declaração de Variáveis

C requer um para declarar todas as variáveis ​​no topo do programa.

Em C ++, as variáveis ​​podem ser declaradas em qualquer lugar do programa antes de serem usadas.

Declaração Múltipla

Declaração múltipla de variáveis ​​globais é permitida.

Declaração múltipla de variáveis ​​globais não é permitida.

Mapeamento

O mapeamento entre dados e funções é difícil e complicado.

O mapeamento entre dados e funções pode ser usado usando "Objetos"

Programação GUI

C suporta ferramenta GTK para programação GUI

C ++ suporta ferramentas Qt para programação GUI

Herança

A herança não é possível em C

A herança é possível em C ++

Extensão de arquivo

Tem extensão de arquivo .c

Tem extensão de arquivo .cpp

Arquivo de cabeçalho padrão

O arquivo de cabeçalho padrão usado na linguagem C é stdio.h

O arquivo de cabeçalho padrão usado no C ++ é iosteam.h

Alguns exemplos de diferença entre C e C ++:

Exemplos

C

C ++

Declaração variável

Apenas no topo:

int i;

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

Em qualquer lugar no programa:

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

Alocação de memória

Malloc:

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

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

Novo:

int * x = novo int;

int * x_array = new int [10];

Liberando Memória

Livre:

livre (x);

free (x_array);

Excluir:

delete x;

delete [] x_array;

Recomendado

Artigos Relacionados

  • diferença entre: Diferença entre o Dell XPS 10 e o Nexus 7

    Diferença entre o Dell XPS 10 e o Nexus 7

    Diferença chave: O Dell XPS 10 é um tablet de 10, 1 polegadas que vem com um dock de teclado para torná-lo em um laptop. A tela é uma tela multi-touch capacitiva HD Display, com 1366 x 768 pixels e uma densidade de aproximadamente 155 ppi de pixels. O Nexus 7 é um computador tablet que executa o sistema operacional Android 4.1 (t
  • diferença entre: Diferença entre Auditoria Interna e Auditoria Externa

    Diferença entre Auditoria Interna e Auditoria Externa

    Diferença chave: A diferença básica entre uma auditoria interna e uma auditoria externa é que uma auditoria interna é conduzida internamente, pelos funcionários da empresa ou organização, enquanto uma auditoria externa é realizada pela contratação de auditores profissionais. Segundo a Investopedia, a definição de uma auditoria é um exame imparcial e avaliação das demonstrações financeiras de uma organização. O termo auditoria
  • diferença entre: Diferença entre bitmap e jpeg

    Diferença entre bitmap e jpeg

    Diferença chave: Tanto o Bitmap quanto o JPG são formato de arquivo para armazenamento de imagens digitais. O termo bitmap significa essencialmente um mapa de bits ou especificamente uma 'matriz de bits espacialmente mapeada'. JPG, originalmente JPEG significa Joint Photographic Expert Group.
  • diferença entre: Diferença entre SEO Local e SEO Orgânico

    Diferença entre SEO Local e SEO Orgânico

    Diferença chave: como o nome sugere, SEO local é SEO que é localizado. Está geograficamente ligado e tem como público-alvo uma área localizada. SEO orgânico refere-se a SEO que acontece organicamente, ou seja, naturalmente. Isso significa que não se usam práticas pagas para aumentar ou melhorar sua classificação nos mecanismos de busca. O termo o
  • diferença entre: Diferença entre feto, embrião e zigoto

    Diferença entre feto, embrião e zigoto

    Diferença chave: feto, embrião e feto, esses termos são usados ​​principalmente em contexto para o período de gestação de mamíferos vivíparos. O zigoto é o óvulo fertilizado que é formado quando o espermatozóide e o óvulo são fundidos. O embrião é o estágio intermediário entre o zigoto e o feto. Os zigotos passam po
  • diferença entre: Diferença entre o Samsung Galaxy Note 8.0 e o Samsung Galaxy Mega 6.3

    Diferença entre o Samsung Galaxy Note 8.0 e o Samsung Galaxy Mega 6.3

    Diferença chave: O Samsung Galaxy Note 8.0 tem como objetivo preencher a lacuna entre o Galaxy Note II e o Galaxy Note 10.1. O Galaxy Note 8 possui um ecrã táctil capacitivo TFT de 8 polegadas com uma resolução de 800 x 1280 pixels. O dispositivo é alimentado por um Cortex-A9 quad-core de 1, 6 GHz e 2 GB de RAM. O di
  • diferença entre: Diferença entre o perfil do Google+, a Página do Google+ e o Google+ Local Q

    Diferença entre o perfil do Google+, a Página do Google+ e o Google+ Local Q

    Diferença chave: o perfil do Google+ é a conta básica do Google+. Este é o perfil que qualquer indivíduo faz semelhante a como faria uma conta no Facebook ou uma conta no Twitter. A Página do Google+ e o Google+ Local Q devem ser usados ​​por empresas. A Página do Google+ é uma página criada para uma empresa para que ela tenha um lugar para interagir com seus fãs e seguidores. O Q local é
  • diferença entre: Diferença entre o fundo mútuo e o SIP

    Diferença entre o fundo mútuo e o SIP

    Diferença chave: Um fundo mútuo não é exatamente um tipo de garantia, mas um esquema que permite a compra de títulos. Um SIP ou um Plano de Investimento Sistemático é uma forma de investir dinheiro em um fundo mútuo. Ele permite que o investidor pague em prestações, em vez de um pagamento em parcelas no início do investimento. Os fundos
  • diferença entre: Diferença entre Micromax A110 Canvas 2 e A116 Canvas HD

    Diferença entre Micromax A110 Canvas 2 e A116 Canvas HD

    Diferença chave: Micromax A110 Canvas 2 foi um dos telefones mais populares da empresa. Possui um display de 5, 0 polegadas com uma resolução de 480 x 854 pixels. Ele é executado em um Cortex-A9 Dual-core de 1 GHz e 512 MB de RAM. O Micromax A116 Canvas HD é o sucessor do popular Micromax A110 Canvas 2 e é melhor do que o seu antecessor em todos os sentidos. Ele

Escolha Do Editor

Diferença entre o Tea Party e o republicano

Diferença chave: O Partido Republicano é um dos dois maiores partidos nos Estados Unidos. O Partido Republicano se orgulha do conservadorismo americano. O Tea Party, por outro lado, não é um partido político. Na verdade, é um movimento político que defende a redução da dívida nacional dos Estados Unidos e do déficit orçamentário federal, reduzindo os gastos e impostos do governo dos EUA. O Partido R