Recién llegado, no entiendo cómo entender esta oración sobre el lenguaje C.
El lenguaje C es un lenguaje de programación informática general y muy utilizado. El objetivo de diseño del lenguaje C es proporcionar un lenguaje de programación que pueda compilarse fácilmente, manejar memoria de bajo nivel, generar una pequeña cantidad de código de máquina y que pueda ejecutarse sin ningún soporte de entorno de ejecución.
Aunque el lenguaje C proporciona muchas funciones de procesamiento de bajo nivel, aún mantiene buenas características multiplataforma. Los programas en lenguaje C escritos en una especificación estándar se pueden compilar en muchas plataformas informáticas, incluso incluyendo algunos procesadores integrados (únicos). -microcomputadora con chip o MCU) y supercomputadoras y otras plataformas operativas.
En la década de 1980, para evitar diferencias en la sintaxis del lenguaje C utilizada por varios desarrolladores, la Oficina Nacional de Estándares de Estados Unidos formuló un conjunto completo de sintaxis estándar internacional para el lenguaje C, llamado ANSI C. como el estándar original del lenguaje C.
Características básicas
Lenguaje C 1. C es un lenguaje de alto nivel: combina las estructuras y declaraciones básicas de los lenguajes de alto nivel con la practicidad de los lenguajes de bajo nivel. . El lenguaje C puede operar en bits, bytes y direcciones al igual que el lenguaje ensamblador, y estas tres son las unidades de trabajo más básicas de las computadoras.
2. C es un lenguaje estructural: La característica distintiva de un lenguaje estructural es la separación de código y datos, es decir, cada parte del programa es independiente entre sí excepto para el intercambio de información necesario. Este enfoque estructurado puede aclarar la jerarquía del programa y facilitar la codificación, el mantenimiento y la depuración. El lenguaje C se proporciona a los usuarios en forma de funciones. Estas funciones se pueden llamar fácilmente y tienen una variedad de bucles y declaraciones condicionales para controlar el flujo del programa, lo que hace que el programa esté completamente estructurado.
3. El lenguaje C es completamente funcional: tiene una variedad de tipos de datos e introduce el concepto de punteros, lo que puede hacer que el programa sea más eficiente. Además, la función de cálculo y la función de juicio lógico también son relativamente poderosas y pueden realizar el juego del propósito de la toma de decisiones.
4. El lenguaje C tiene una amplia gama de aplicaciones: es adecuado para una variedad de sistemas operativos, como Windows, Linux, DOS, UNIX, etc.; modelos. El lenguaje C es mejor que otros lenguajes de alto nivel para escribir situaciones que requieren operaciones de hardware. Algunas aplicaciones de software a gran escala también están escritas en lenguaje C.
5. Punteros de aplicación en lenguaje C: puede realizar operaciones directamente cerca del hardware, pero las operaciones del puntero C no están protegidas, lo que también conlleva muchos factores inseguros. C++ ha realizado mejoras en esta área, conservando las operaciones de puntero y mejorando la seguridad, y ha sido apoyado por algunos usuarios. Sin embargo, debido a que estas mejoras aumentan la complejidad del lenguaje, también ha sido criticado por otros. Java aprendió las lecciones de C++, canceló las operaciones de puntero y también canceló algunos aspectos controvertidos de las mejoras de C++. Ha logrado buenos resultados en términos de seguridad e idoneidad, pero él mismo explica que se ejecuta en una máquina virtual. /DO. En términos generales, C, C ++ y Java se consideran lenguajes de la misma familia y durante mucho tiempo han ocupado los tres primeros en la lista de uso de programas.
6. Los archivos en lenguaje C se componen de secuencias de datos: pueden formar archivos binarios o archivos de texto. Los IDE (entornos de desarrollo integrados) de lenguaje C más utilizados incluyen Microsoft Visual C++, Dev-C++, Code::Blocks. y Borland C++, Watcom C++, Borland C++ Builder, GNU DJGPP C++, Lccwin32 C Compiler 3.1, High C, Turbo C, C-Free, win-tc, xcode (mac os x), etc.
Nuevas funciones
1. Estandarización del procesamiento de alineación (Alineación) (incluido el identificador _Alignas, el operador alignof, la función alineado_alloc y el archivo de encabezado
2. Etiqueta de función _Noreturn, similar al __attribute__((noreturn)).
3. Palabra clave _Generic?
4.
5. Soporte Unicode mejorado, basado en el informe técnico C Unicode ISO/IEC TR 19769:2004, soporte mejorado para Unicode. Incluyendo la adición de tipos de datos char16_t y char32_t para codificación UTF-16/UTF-32 y proporcionando un archivo de encabezado
6. nueva función más segura gets_s() en su lugar.
7. Se agregó una interfaz de función de verificación de límites y se definieron nuevas funciones seguras, como fopen_s(), strcat_s(), etc.
8. Se agregaron más macros de procesamiento de punto flotante.
9. Estructura anónima/apoyo sindical, esto existe desde hace mucho tiempo en gcc y C11 lo introdujo en el estándar.
10. Las afirmaciones estáticas, _Static_assert(), se procesan después de interpretar #if y #error.
11. El nuevo modo fopen(), ("...x"), es similar a O_CREAT|O_EXCL en POSIX y se usa comúnmente en bloqueos de archivos.
12. Se agregó la función quick_exit() como tercera forma de finalizar el programa. Se puede realizar una limpieza mínima cuando falla exit().
13. _Modificador de tipo atómico y archivo de encabezado