Kernighan y Ritchie introdujeron las siguientes características al lenguaje:
- El tipo de datos struct.
- El tipo de datos long int.
- El tipo de datos unsigned int.
- Los operadores =+ y =- fueron sustituidos por += y -= para eliminar la ambigüedad sintáctica de expresiones como i=-10, que se podría interpretar bien como i =- 10 o bien como i = -10.
El C de Kernighan y Ritchie es el subconjunto más básico del lenguaje que un compilador debe de soportar. Durante muchos años, incluso tras la introducción del ANSI C, fue considerado "el mínimo común denominador" en el que los programadores debían programar cuando deseaban que sus programas fueran transportables, pues no todos los compiladores soportaban completamente ANSI, y el código razonablemente bien escrito en K&R C es también código ANSI C válido.
En estas primeras versiones de C, las únicas funciones que necesitaban ser declaradas si se usaban antes de la definición de la función eran las que retornaban valores no enteros. Es decir, se presuponía que una función que se usaba sin declaración previa (prototipo) devolvería un entero.
- Ejemplo de llamada que requiere declaración previa (prototipo):
long int cierta_funcion();
int llamando_funcion()
{
long int ret;
ret = cierta_funcion();
}
- Ejemplo de llamada que no requiere declaración previa:
int llamando_funcion()
{
int ret;
ret = alguna_otra_funcion();
}
int alguna_otra_funcion()
{
return 0;
}
En los años siguientes a la publicación del C de Kernighan y Ritchie, se añadieron al lenguaje muchas características no oficiales, que estaba soportadas por los compiladores de AT&T, entre otros. Algunas de estas características eran:
- Funciones void y el tipo de datos void *.
- Funciones que retornaban tipos de datos struct o union (en lugar de punteros).
- Asignación de tipos de datos struct.
- Calificador const, que hace que un objeto sea de sólo lectura.
- Una biblioteca estándar, que incorporaba la mayoría de las funcionalidades implementadas por varios desarrolladores de compiladores.
- Enumeraciones.
- Bibliografia
http://es.wikipedia.org/wiki/C_%28lenguaje_de_programaci%C3%B3n%29#El_C_de_Kernighan_y_Ritchie
Bien; 2.
ResponderEliminar