Diferencia entre variables estáticas y variables de registro en C

variables estáticas ¡Las variables estáticas tienen la propiedad de preservar su valor incluso después de que estén fuera de su alcance! Por lo tanto, las variables estáticas conservan su valor anterior en su ámbito anterior y no se inicializan de nuevo en el nuevo ámbito.  Sintaxis:  static data_type var_name = var_value; registrar variables Los registros … Continue reading «Diferencia entre variables estáticas y variables de registro en C»

C | Declaración de variables y alcance | Pregunta 7

int main() {   int x = 032;   printf(«%d», x);   return 0; } (A) 32 (B) 0 (C) 26 (D) 50 Respuesta: (C) Explicación: Cuando un valor constante comienza con 0, se considera como un número octal. Por lo tanto, el valor de x es 3*8 + 2 = 26 Cuestionario de esta pregunta Publicación traducida … Continue reading «C | Declaración de variables y alcance | Pregunta 7»

¿Pueden las variables globales ser peligrosas?

En un código pequeño, podemos rastrear valores de variables globales. Pero si el tamaño del código crece, hacen que el código sea menos comprensible (por lo tanto, menos mantenible). Se vuelve difícil rastrear qué función modificó el valor y cómo. C++ // A C++ program to demonstrate that a // global variables make long code … Continue reading «¿Pueden las variables globales ser peligrosas?»

C | Declaración de variables y alcance | Pregunta 6

¿Producción? #include <stdio.h> int main() {   int x = 1, y = 2, z = 3;   printf(» x = %d, y = %d, z = %d \n», x, y, z);   {        int x = 10;        float y = 20;        printf(» x = %d, y = %f, z = %d \n», x, y, z);        {              int … Continue reading «C | Declaración de variables y alcance | Pregunta 6»

Variables y palabras clave en C

Una variable en términos simples es un lugar de almacenamiento que tiene algo de memoria asignada. Básicamente, una variable se utiliza para almacenar algún tipo de datos. Diferentes tipos de variables requieren diferentes cantidades de memoria, diferentes tipos de ubicaciones de memoria y algún conjunto específico de operaciones que se les puedan aplicar.  Declaración de … Continue reading «Variables y palabras clave en C»

C | Declaración de variables y alcance | Pregunta 1

Considere las siguientes dos líneas C int var1; extern int var2; Cuál de las siguientes afirmaciones es correcta (A) Ambas afirmaciones solo declaran variables, no las definen. (B) La primera declaración declara y define var1, pero la segunda declaración solo declara var2 (C) Ambas declaraciones declaran las variables definidas var1 y var2 Respuesta: (B) Explicación: … Continue reading «C | Declaración de variables y alcance | Pregunta 1»

Enlace interno y enlace externo en C

A menudo es bastante difícil distinguir entre alcance y vinculación, y las funciones que desempeñan. Este artículo se centra en el alcance y la vinculación, y cómo se utilizan en lenguaje C. Nota: Todos los programas C se compilaron en GCC 4.9.2 de 64 bits. Además, los términos «identificador» y «nombre» se han utilizado indistintamente … Continue reading «Enlace interno y enlace externo en C»

¿Cómo se analizan las variables en C: estático o dinámico?

En C, las variables siempre tienen un alcance estático (o léxico) , es decir, la vinculación de una variable puede determinarse mediante el texto del programa y es independiente de la pila de llamadas de función en tiempo de ejecución. Por ejemplo, la salida para el siguiente programa es 0, es decir, el valor devuelto … Continue reading «¿Cómo se analizan las variables en C: estático o dinámico?»

Declaraciones complicadas en C

La mayoría de las veces, las declaraciones son fáciles de leer, pero es difícil leer algunas declaraciones que implican un puntero a funciones. Por ejemplo, considere la siguiente declaración de “signal.h”. C void (*bsd_signal(int, void (*)(int)))(int); Veamos los pasos para leer declaraciones complicadas. 1) Convierta la declaración C al formato de postfijo y lea de … Continue reading «Declaraciones complicadas en C»

¿Cómo resuelven los enlazadores los símbolos globales definidos en varios lugares?

En tiempo de compilación, el compilador exporta cada símbolo global al ensamblador como fuerte o débil, y el ensamblador codifica esta información implícitamente en la tabla de símbolos del archivo de objetos reubicables. Las funciones y las variables globales inicializadas obtienen símbolos fuertes. Las variables globales no inicializadas obtienen símbolos débiles. Para los siguientes programas … Continue reading «¿Cómo resuelven los enlazadores los símbolos globales definidos en varios lugares?»