Diferencia entre malloc() y calloc() con ejemplos – Part 1

Requisito previo: Asignación dinámica de memoria en C usando malloc(), calloc(), free() y realloc() Las funciones malloc() y calloc() son funciones de biblioteca que asignan memoria dinámicamente. Dinámico significa que la memoria se asigna durante el tiempo de ejecución (ejecución del programa) desde el segmento del montón. Inicialización malloc() asigna un bloque de memoria de … Continue reading «Diferencia entre malloc() y calloc() con ejemplos – Part 1»

C | Asignación dinámica de memoria | Pregunta 7

¿Cuál es el problema con el siguiente código? #include<stdio.h> int main() {     int *p = (int *)malloc(sizeof(int));        p = NULL;        free(p); } (A) Error del compilador: free no se puede aplicar en el puntero NULL (B) Fuga de memoria (C) Puntero colgante (D) El programa puede bloquearse cuando se llama a free() para … Continue reading «C | Asignación dinámica de memoria | Pregunta 7»

qué sucede cuando no liberas memoria después de usar malloc()

Requisito previo: Asignación dinámica de memoria en C El método «malloc» o «asignación de memoria» se utiliza para asignar dinámicamente un solo bloque grande de memoria con el tamaño especificado. Devuelve un puntero de tipo void que se puede convertir en un puntero de cualquier forma. Inicializa cada bloque con un valor de basura predeterminado. … Continue reading «qué sucede cuando no liberas memoria después de usar malloc()»

C | Asignación dinámica de memoria | Pregunta 6

¿Cual de los siguientes es verdadero? (A) “ptr = calloc(m, n)” es equivalente a seguir ptr = malloc(m * n); (B) “ptr = calloc(m, n)” es equivalente a seguir ptr = malloc(m * n); conjunto de memoria(ptr, 0, m * n); (C) “ptr = calloc(m, n)” es equivalente a seguir ptr = malloc(m); conjunto de … Continue reading «C | Asignación dinámica de memoria | Pregunta 6»

Asignación de memoria estática y dinámica en C

La memoria se divide en unidades direccionables más pequeñas llamadas bytes . Supongamos que se trata de pequeñas cajas como bytes . Cada byte tiene su propia dirección según la siguiente tabla. Por ejemplo: 0, 1, 2, 3, 4, 5, 6, etc. ¿Cómo utiliza el programa la memoria? La Memoria se divide en tres secciones.  … Continue reading «Asignación de memoria estática y dinámica en C»

C | Asignación dinámica de memoria | Pregunta 8 – Part 1

¿Cuál de los siguientes es/son verdaderos ? (A) calloc() asigna la memoria y también inicializa la memoria asignada a cero, mientras que la memoria asignada mediante malloc() tiene datos no inicializados. (B) malloc() y memset() se pueden usar para obtener el mismo efecto que calloc(). (C) calloc() toma dos argumentos, pero malloc toma solo 1 … Continue reading «C | Asignación dinámica de memoria | Pregunta 8 – Part 1»

C | Asignación dinámica de memoria | Pregunta 2

Considere las siguientes tres funciones de C: [PI] int * g (void)  {    int x= 10;    return (&x);  }        [P2] int * g (void)  {    int * px;    *px= 10;    return px;  }       [P3] int *g (void)  {    int *px;    px = (int *) malloc (sizeof(int));    *px= 10;    return px;  } ¿Cuál de … Continue reading «C | Asignación dinámica de memoria | Pregunta 2»

¿Cuáles son los conceptos de programación C utilizados como estructuras de datos?

Tipos de datos El tipo de datos en términos simples nos da información sobre el tipo de datos. Ejemplo, entero, carácter, etc.  Los tipos de datos en lenguaje C son declaraciones para las variables . Los tipos de datos se clasifican como: Tipos de datos primitivos o incorporados Algunos de los ejemplos de tipos de datos … Continue reading «¿Cuáles son los conceptos de programación C utilizados como estructuras de datos?»

Si la asignación de memoria usando new falla en C++, ¿cómo se debe manejar?

En este artículo, si la asignación de memoria usando new falla en C++ , ¿cómo debería manejarse? Cuando un objeto de una clase se crea dinámicamente usando un operador nuevo , el objeto ocupa memoria en el montón. A continuación se presentan las cosas más importantes que se deben tener en cuenta: ¿Qué sucede si … Continue reading «Si la asignación de memoria usando new falla en C++, ¿cómo se debe manejar?»

¿Qué sucede si mezclamos lo nuevo y lo gratuito en C++?

Como sabemos, new se usa para crear memoria dinámicamente y es responsabilidad del programador eliminar la ubicación de la memoria explícitamente y se elimina utilizando la palabra clave delete . La sintaxis para crear memoria en tiempo de ejecución usando una nueva palabra clave: int *ptr = nuevo int; Creará una ubicación de memoria para … Continue reading «¿Qué sucede si mezclamos lo nuevo y lo gratuito en C++?»