Diferencia entre C y C ++ con ejemplos | Lenguajes de programación

Diferencia clave: C y C ++ son dos lenguajes de programación de computadora diferentes. C ++ fue desarrollado a partir del lenguaje de programación C; Sin embargo, son muy diferentes en la naturaleza. La diferencia más obvia es que C es un lenguaje orientado a procedimientos, mientras que C ++ es compatible con la programación tanto de procedimiento como orientada a objetos, por lo que a menudo se denomina lenguaje híbrido.

C y C ++ son dos lenguajes de programación de computadora diferentes. C fue desarrollado originalmente por Dennis Ritchie en AT&T Bell Labs entre 1969 y 1973. C ++ es otro lenguaje de programación de propósito general. Fue desarrollado a partir del lenguaje de programación C original. Fue desarrollado por Bjarne Stroustrup en los Laboratorios Bell a partir de 1979. C ++ se denominó originalmente C con Clases, ya que se basaba en C. Se cambió su nombre a C ++ en 1983.

C es uno de los lenguajes de programación más antiguos utilizados actualmente y es uno de los lenguajes de programación más utilizados. Se ha utilizado constantemente en aplicaciones que previamente se habían codificado en lenguaje ensamblador. Esto incluye el sistema operativo de la computadora UNIX. C también ha influido directa o indirectamente en muchos de los lenguajes de programación posteriores, como C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python y el shell C de Unix. A pesar de todos estos nuevos lenguajes, C sigue siendo un lenguaje de programación popular.

C ++ originalmente comenzó como una mejora a C. Fue diseñado para ser compatible con fuente y enlace con C. Sin embargo, agregó clases, funciones virtuales, sobrecarga de operadores, herencia múltiple, plantillas, manejo de excepciones, etc. Finalmente, se desarrolló. suficiente para ser considerado un lenguaje de programación por derecho propio. Originalmente se ratificó en 1998 como lenguaje de programación certificado ISO / IEC 14882: 1998. Hoy en día, C ++ ahora se usa comúnmente para el diseño de hardware.

C es un lenguaje de programación de propósito general que usa punto y coma (;) como terminador de una declaración, así como llaves ({}) para agrupar bloques de declaraciones. Cuenta con instalaciones para la programación estructurada y su diseño proporciona construcciones que se pueden asignar de manera eficiente a las instrucciones típicas de la máquina. También permite el alcance y la recursión de las variables léxicas y tiene un sistema de tipo estático, que evita muchas operaciones involuntarias.

Sin embargo, en comparación con C ++, C tiene numerosas limitaciones. Como C no está orientado a objetos, no es compatible con los conceptos de OOPS. C no admite la sobrecarga de funciones y operadores. No puede usar funciones dentro de estructuras. No admite funciones virtuales ni variables de referencia, ni manejo de excepciones. Tampoco soporta variables de referencia. Además, C tampoco encapsula o asegura datos. En comparación, C ++ soporta todas estas características.

Además, C no admite la función NAMESPACE, mientras que C ++ sí lo hace. Un espacio de nombres es una región definitiva que permite agrupar identificadores (nombres de tipos, funciones, variables, etc.). Los espacios de nombres se pueden usar para organizar el código en grupos lógicos y para evitar colisiones de nombres. Esto es especialmente útil cuando el código base incluye varias bibliotecas, lo que idealmente hace que el código sea propenso a nombrar colisiones.

Los dos idiomas también difieren en la forma en que funcionan las funciones de memoria de direcciones, entrada-salida y programación de GUI. Por ejemplo, C usa las funciones calloc (), malloc () y free () para asignar y desasignar memoria, mientras que C ++ utiliza nuevo y eliminar. C usa scanf () e printf () para entrada y salida, mientras que C ++ usa los operadores cin >> y cout <<. C es compatible con la herramienta GTK para la programación GUI, mientras que C ++ es compatible con las herramientas Qt para la programación GUI. Otra diferencia es que C requiere que uno declare todas las variables en la parte superior del programa, mientras que en C ++, las variables se pueden declarar en cualquier parte del programa.

Además, generalmente se considera que C ++ es más fácil de aprender, ya que es más fácil de usar que C. C ++ también tiene numerosas funciones adicionales que facilitan la codificación, especialmente para alguien que es nuevo en el marco de C. Sin embargo, muchos afirman que realmente importa. Los dos idiomas difieren tanto, que de hecho pueden ser dos idiomas diferentes entre sí. Una cosa a tener en cuenta es que C es mucho más estructurado que C ++, mientras que C ++ fue diseñado para ser más expresivo y abstracto que C.

Comparación entre C y C ++:

do

C ++

Fundado

Desarrollado por Dennis Ritchie en AT&T Bell Labs entre 1969 y 1973.

Desarrollado por Bjarne Stroustrup en los Laboratorios Bell a partir de 1979.

Código fuente

Código fuente del programa de formato libre.

Desarrollado originalmente a partir del lenguaje de programación C

Idioma

Procedimiento orientado al lenguaje

Soporta paradigmas de programación tanto de procedimiento como orientados a objetos; por lo tanto, a menudo se llama un lenguaje híbrido.

Enfoque

Sigue el enfoque de arriba hacia abajo.

Sigue el enfoque de abajo hacia arriba.

Relación

C es un subconjunto de C ++. No puede ejecutar código C ++.

C ++ es un superconjunto de C. C ++ puede ejecutar la mayor parte del código C, mientras que C no puede ejecutar el código C ++.

Conducir

Lenguaje basado en funciones

Lenguaje orientado a objetos

Atención

Se centra en el método o proceso en lugar de datos.

Se enfoca en los datos en lugar del método o procedimiento.

Bloques de construcción

Funciones

Objetos

Palabras clave

Contiene 32 palabras clave

Contiene 52 palabras clave

Conceptos OOPS

Como el lenguaje 'C' es un lenguaje orientado a procedimientos, no admite conceptos OOPS como clase, objeto, herencia, polimorfismo, ocultación de datos, etc.

Como lenguaje orientado a objetos, C ++ admite clases, objetos, ocultación de datos, polimorfismo, herencia, abstracción, etc.

Funciones

  • No soporta sobrecarga de funciones y operadores.
  • No se pueden usar funciones dentro de estructuras
  • No soporta funciones virtuales y variables de referencia.
  • No admite el manejo de excepciones
  • no soporta variables de referencia
  • no tiene la función de espacio de nombres
  • Puede llamar a la función main () a través de otras funciones.
  • Soporta sobrecarga de funciones y operadores.
  • Puede usar funciones dentro de estructuras
  • Soporta funciones virtuales y variables de referencia.
  • Admite el manejo de excepciones utilizando el bloque try and catch. Las excepciones se utilizan para errores "difíciles" que hacen que el código sea incorrecto.
  • soporta variables de referencia
  • utiliza la función NAMESPACE que evita las colisiones de nombres.
  • no se puede llamar a la función main () a través de otras funciones.

Funciones de memoria

Utiliza las funciones calloc (), malloc () y free () para asignar y desasignar memoria.

Utiliza operadores nuevos y eliminados para el mismo propósito.

Encapsulacion

No soporta. Los datos y funciones son entidades separadas y libres.

Apoya la encapsulación. Los datos y las funciones se encapsulan juntos en forma de un objeto. La clase de objetos proporciona un plano de la estructura del objeto.

Ocultación de información

C no admite la ocultación de información. Aquí, los datos son entidades libres y pueden ser manipulados por un código externo.

La encapsulación oculta los datos para garantizar que las estructuras de datos y los operadores se utilizan según lo previsto.

Datos

Admite tipos de datos integrados y primitivos.

Los datos no están protegidos debido a que no están orientados a objetos.

Admite los tipos de datos integrados y definidos por el usuario.

Los datos están protegidos (ocultos) en C ++

Nivel

Lenguaje de bajo nivel

Lenguaje de nivel medio

De entrada y salida

El lenguaje 'C' usa scanf () y printf () para entrada y salida.

El lenguaje 'C ++' usa los operadores cin >> y cout << para entrada y salida.

Declaración de Variables

C requiere que uno declare todas las variables en la parte superior del programa.

En C ++, las variables se pueden declarar en cualquier parte del programa antes de usarlas.

Declaración múltiple

Se permiten declaraciones múltiples de variables globales.

No se permiten declaraciones múltiples de variables globales.

Cartografía

El mapeo entre datos y funciones es difícil y complicado.

El mapeo entre datos y funciones se puede usar usando "Objetos"

Programación GUI

C es compatible con la herramienta GTK para la programación GUI

C ++ soporta herramientas Qt para la programación GUI

Herencia

La herencia no es posible en C

La herencia es posible en C ++

Extensión de archivo

Tiene la extensión de archivo .c

Tiene la extensión de archivo .cpp

Archivo de encabezado predeterminado

El archivo de encabezado predeterminado que se usa en el lenguaje C es stdio.h

El archivo de encabezado predeterminado utilizado en C ++ es iosteam.h

Algunos ejemplos de diferencia entre C y C ++:

Ejemplos

do

C ++

Declaración variable

Solo en la parte superior:

int i;

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

En cualquier parte del programa:

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

Asignación de memoria

Malloc:

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

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

Nuevo:

int * x = new int;

int * x_array = new int [10];

Liberar memoria

Gratis:

libre (x);

libre (x_array);

Borrar:

eliminar x;

eliminar [] x_array;

Recomendado

Artículos Relacionados

  • comparaciones populares: Diferencia entre Maruti Suzuki Alto 800 y Hyundai Eon

    Diferencia entre Maruti Suzuki Alto 800 y Hyundai Eon

    Diferencia clave: El Maruti Suzuki Alto 800 y Hyundai Eon, ambos son autos pequeños destinados a ser conducidos en la ciudad. Sin embargo, Eon tiene más características y un aspecto considerablemente bueno como un auto de nivel básico de Hyundai. El Alto se introdujo por primera vez en 1979 y, desde entonces, ha habido muchos cambios en sus versiones, variantes y modelos. Se
  • comparaciones populares: Diferencia entre ID de Apple y cuenta de iTunes

    Diferencia entre ID de Apple y cuenta de iTunes

    Diferencia clave: la cuenta de iTunes está vinculada con un ID de Apple; Ambos dependen unos de otros. Apple ID es una cuenta que se utiliza para iniciar sesión en varias tiendas "i". iTunes en sí es un reproductor multimedia, donde se necesita una ID de Apple para descargar varias aplicaciones. i
  • comparaciones populares: Diferencia entre tienda y tienda

    Diferencia entre tienda y tienda

    Diferencia clave: según muchas personas, el término "tienda" se usa para referirse a un lugar pequeño que vende productos y mercancías. Mientras que, las "tiendas" se guardan para las grandes tiendas, como una tienda por departamentos que puede tener varias tiendas. Ahora, otra diferencia que se destaca en el uso es que "comprar" se refiere a cualquier lugar que ofrezca un servicio o productos personalizables. Un
  • comparaciones populares: Diferencia entre hipótesis y suposición.

    Diferencia entre hipótesis y suposición.

    Diferencia clave: una hipótesis es una suposición o explicación incierta con respecto a un fenómeno o evento. Es considerado cierto por el investigador. Una suposición es también un tipo de creencia que se considera verdadera. Una hipótesis siempre debe pasar por el proceso de verificación e investigación. Por otr
  • comparaciones populares: Diferencia entre Apple iPad y Laptop

    Diferencia entre Apple iPad y Laptop

    Diferencia clave: iPad es una tableta utilizada principalmente para multimedia y navegación web. Una computadora portátil tiene propiedades computacionales y está destinada a ser un sustituto de una computadora de escritorio. Cuando Apple lanzó el iPad en 2010, comenzó una nueva tendencia para las tabletas. iPa
  • comparaciones populares: Diferencia entre MAPI, POP3 e IMAP4

    Diferencia entre MAPI, POP3 e IMAP4

    Diferencia clave: MAPI significa Interfaz de programación de aplicaciones de mensajería. POP3 significa Post Office Protocol Third e IMAP4 significa Internet Messaging Access Protocol. IMAP4 mantiene los mensajes en un servidor. Uno debe estar conectado a ese servidor para recuperarlos. POP3 también es un protocolo estándar, pero a diferencia de IMAP4, descarga los correos electrónicos en la computadora local. MAP
  • comparaciones populares: Diferencia entre Nokia Lumia 925 y LG Optimus G Pro

    Diferencia entre Nokia Lumia 925 y LG Optimus G Pro

    Diferencia clave: Nokia ha anunciado recientemente su nuevo teléfono estrella, el Nokia Lumia 925. El teléfono viene con una pantalla táctil capacitiva AMOLED de 4, 5 pulgadas que ocupa una buena cantidad de espacio en la parte frontal, con el altavoz y los sensores en la parte superior. La pantalla capacitiva de 4, 5 pulgadas tiene el mismo PureMotion HD +, ClearBlack que se encuentra en Lumia 920. E
  • comparaciones populares: Diferencia entre Sony Xperia ZR y Samsung Galaxy S4 Active

    Diferencia entre Sony Xperia ZR y Samsung Galaxy S4 Active

    Diferencia clave: el Sony Xperia ZR es esencialmente una versión más pequeña del buque insignia Xperia Z que ofrece muchas de las mismas características. Al igual que el Xperia Z, el nuevo Xperia ZR es resistente al agua y al polvo. Sin embargo, el teléfono también puede usarse bajo el agua y puede mantenerse sumergido bajo el agua durante hasta 30 minutos, a diferencia del Z. El X
  • comparaciones populares: Diferencia entre misticismo y brujería.

    Diferencia entre misticismo y brujería.

    Diferencia clave: el misticismo se asocia generalmente con la creencia de experimentar la unión con la Divinidad, la Realidad, la Verdad Espiritual o Dios. Sin embargo, la palabra también se usa en connotación negativa que describe las visiones del mundo no racionales. La brujería se asoció inicialmente con una religión de paganos antiguos y tradicionales que adoraban los aspectos femeninos, terrenales y masculinos de Dios. Hoy

La Elección Del Editor

Diferencia entre Puma y Pantera

Diferencia clave: tanto Puma como Panther son miembros de la familia Felidae. Sin embargo, una diferencia subyacente entre Puma y Panther es que los tamaños de Puma varían según el hábitat, y se encuentran principalmente cerca de áreas montañosas. Considerando que, las panteras son animales poderosos, inteligentes y exóticos, que se encuentran principalmente en América Latina, Asia y África. Aunque