Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| el_lenguaje_de_programacion_c [2024/09/27 22:46] – peron | el_lenguaje_de_programacion_c [2026/04/21 16:06] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 2: | Línea 2: | ||
| Este es un ejemplar amorosamente wikificado por ~peron de //El Lenguaje de Programación C//, 2da Edición, de B. Kerningham y D. Ritchie, adaptado para [[hacker|hackers]] del Tercer Mundo. | Este es un ejemplar amorosamente wikificado por ~peron de //El Lenguaje de Programación C//, 2da Edición, de B. Kerningham y D. Ritchie, adaptado para [[hacker|hackers]] del Tercer Mundo. | ||
| + | |||
| + | ==== Prefacios ==== | ||
| [[El lenguaje de programación C - Prefacios|Prefacios]] | [[El lenguaje de programación C - Prefacios|Prefacios]] | ||
| - | |||
| - | |||
| ==== Capítulos ==== | ==== Capítulos ==== | ||
| [[El lenguaje de programación C - Introducción|Introducción]] | [[El lenguaje de programación C - Introducción|Introducción]] | ||
| - | [[El lenguaje de Programación C - Capitulo 1|Capitulo 1]] | + | [[El lenguaje de Programación C - Capitulo 1|Capitulo 1: Introducción General]] |
| - | [[El lenguaje de Programación C - Capitulo 2|Capítulo 2]] | + | [[El lenguaje de Programación C - Capitulo 2|Capítulo 2: Tipos, operadores y expresiones]] |
| - | [[El lenguaje de Programación C - Capitulo 3|capitulo 3]] | + | [[El lenguaje de Programación C - Capitulo 3|capitulo 3: Control de Flujo]] |
| [[El lenguaje de Programación C - Capitulo 4 |Capitulo 4]] | [[El lenguaje de Programación C - Capitulo 4 |Capitulo 4]] | ||
| Línea 26: | Línea 26: | ||
| [[El lenguaje de Programación C - Capitulo 8 |Capitulo 8]] | [[El lenguaje de Programación C - Capitulo 8 |Capitulo 8]] | ||
| + | ==== Apéndices ==== | ||
| + | [[El lenguaje de Programación C - Apéndice A|Apéndice A: Manual de Referencia]] | ||
| + | [[El lenguaje de Programación C - Apéndice B|Apéndice B: Biblioteca Estándar]] | ||
| + | [[El lenguaje de Programación C - Apéndice C|Apéndice C: Resumen de Modificaciones]] | ||
| - | ===== Capítulo 8: La interfaz con el sistem a UNIX ===== | ||
| - | |||
| - | El sistema operativo UNIX proporciona sus servicios a través de un conjunto de //llamadas al sistema//, que consisten en funciones que están dentro del sistema operativo y que pueden ser invocadas por programas del usuario. Este capitulo describe cómo emplear algunas de las más importantes llamadas al sistema desde programas en C. Si el lector usa UNIX, esto debe serle directamente útil, debido a que algunas veces es necesario emplear llamadas al sistema para tener máxima eficiencia, o para tener acceso a alguna facilidad que no esté en la biblioteca. | ||
| - | |||
| - | Incluso, si se emplea C en un sistema operativo diferente el lector debería ser capaz de adentrarse en la programación estudiando estos ejemplos; aunque los detalles varían, se encontrará un código semejante en cualquier sistema. Puesto que la biblioteca de C ANSI está en muchos casos modelada con base en las facilidades de UNIX , este código puede ayudar también a su entendimiento. | ||
| - | |||
| - | El capítulo está dividido en tres partes fundamentales: | ||
| - | |||
| - | El capítulo 7 tuvo que ver con una interfaz de entrada/ | ||
| - | |||
| - | ==== 8.1 Descriptores de Archivos ==== | ||
| - | |||
| - | ==== 8.2 E/S de bajo nivel — read y write ==== | ||
| - | |||
| - | ==== 8.3 Open, creat, close, unlink ==== | ||
| - | |||
| - | ==== 8.4 Acceso aleatorio — lseek ==== | ||
| - | |||
| - | ==== 8.5 Ejemplo - Una realización de fopen y getc ==== | ||
| - | |||
| - | ==== 8.6 Ejemplo — listado de directorios ==== | ||
| - | |||
| - | ==== 8.7 Ejemplo - Asignador de memoria ==== | ||
| - | |||
| - | ===== Apéndice A: Manual de Referencia ===== | ||
| - | |||
| - | === A1: Introducción === | ||
| - | |||
| - | Este manual describe al lenguaje C tal como se especifica en Draft Proposed American National Standard for Information Systems — Programming Language C, documento número X3J11/ | ||
| - | |||
| - | En su mayor parte, este manual sigue la línea amplia del borrador estándar, que a su vez sigue la de la primera edición de este libro, aunque la organización difiere en el detalle. Excepto por renombrar algunas producciones y porque no se formalizan las definiciones de los componentes léxicos o del preprocesador, | ||
| - | |||
| - | >En este manual, el material comentado se encuentra sangrado y escrito en un tipo más pequeño, como este. A menudo estos comentarios resaltan las formas en las que el estándar ansí de C difiere del lenguaje definido por la primera edición de este libro, o de refinamientos introducidos posteriormente en varios compiladores. | ||
| - | |||
| - | ===== Apéndice B: Biblioteca Estándar ===== | ||
| - | ===== Apéndice C: Resúmen de Modificaciones ===== | ||
| - | Desde la publicación de la primera edición de este libro, la definición del lenguaje C ha sufrido modificaciones. Casi todas fueron extensiones al lenguaje original, y fueron diseñadas cuidadosamente para permanecer compatibles con la práctica existente; algunas repararon ambigüedades de la descripción original, y otras representan modificaciones de la práctica existente. Muchas de las nuevas características se anunciaron en los documentos que acompañan a los compiladores disponibles de AT&T, y posteriormente se han adoptado por otros proveedores de compiladores del lenguaje C. Recientemente, | ||
| - | Este apéndice resume las diferencias entre el lenguaje definido por la primera edición de este libro, y lo esperado como la definición del estándar final. Trata solamente al lenguaje en sí, no a su entorno ni a su biblioteca; aunque esas son partes importantes del estándar, hay poco con qué compararlas, | ||
| - | * El preprocesamiento está definido más cuidadosamente en el Estándar que en la primera edición, y está extendido: está explícitamete basado en tokens (símbolos); | ||
| - | * El significado mínimo el más pequeño de todos los identificadores internos se incrementó a 31 caracteres; permitido para identificadores con liga externo permanece en 6 letras, sin importar sin son mayúsculas o minúsculas (muchas implantaciones proporcionan más). | ||
| - | * Las secuencias trigráficas introducidas por ?? permiten la representación de caracteres que no se encuentran en algunos conjuntos. Están definidos los escapes para ''#'' | ||
| - | de cadenas que contengan la secuencia ''??'' | ||
| - | * Se introdujeron nuevas palabras reservadas (void, const, volatile, signed. enum). La palabra reservada entry, que nunca se puso en uso, fue retirada. | ||
| - | * Se definen nuevas secuencias de escape para uso dentro de constantes de carácter y cadenas literales. El efecto de seguir ''< | ||
