Datos interesantes de la programación en C | conjunto 2

A continuación se presentan algunos datos más interesantes sobre la programación en C:

1. Las macros pueden tener llaves desequilibradas:

Cuando usamos #define para una constante , el preprocesador produce un programa C donde se busca la constante definida y los tokens coincidentes se reemplazan con la expresión dada.

Ejemplo:

#include <stdio.h>
  
// Declaring Macro
// with unbalanced brackets
#define P printf(
  
int main()
{
    int a;
    P"Hello World");
    P"%d", a);
  
    return 0;
}
Producción:

Hello World0

2. Use main para declarar una o más variables enteras:

Ejemplo:

#include <stdio.h>
  
int main(int c)
{
    for (; ++c < 28;)
        putchar(95 + c);
    return 0;
}
Producción:

abcdefghijklmnopqrstuvwxyz

3. “%m” cuando se usa dentro de printf() imprime “Éxito”

m (especificador de conversión) no es C pero es una extensión GNU para printf. La conversión ‘ %m ‘ imprime la string correspondiente al código de error en errno .

%m solo imprime » éxito » cuando » errno == 0 » (es la abreviatura de una representación de string del último estado de error observado). Por ejemplo, si una función falla antes de printf, imprimirá algo bastante diferente.

Ejemplo:

#include <stdio.h>
  
int main()
{
    printf("%m");
    return 0;
}
Producción:

Success

4. freno(0); se puede utilizar como alternativa para devolver 0;

brk() y sbrk() cambian la ubicación de la interrupción del programa, que define el final del segmento de datos del proceso.

Ejemplo:

#include <stdio.h>
  
int main()
{
    printf("%m");
    brk();
}
Producción:

Success

5. El programa C se puede escribir sin main()

Lógicamente, parece imposible escribir un programa en C sin usar una función main(). Dado que cada programa debe tener una función main() porque: –

  • Es un punto de entrada de cada programa C/C++.
  • Todas las funciones predefinidas y definidas por el usuario se llaman directa o indirectamente a través de main.

Pero en realidad, es posible ejecutar un programa C sin una función principal.

#include <stdio.h>
#include <stdlib.h>
  
// entry point function
int nomain();
  
void _start()
{
  
    // calling entry point
    nomain();
    exit(0);
}
  
int nomain()
{
    puts("Geeksforgeeks");
    return 0;
}

Compilación usando el comando:

gcc filename.c -nostartfiles
(nostartfiles option tells the compiler to avoid standard linking)

Publicación traducida automáticamente

Artículo escrito por AmiyaKarmakar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *