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

¿Producción? # include<stdio.h> # include<stdlib.h>     void fun(int *a) {     a = (int*)malloc(sizeof(int)); }     int main() {     int *p;     fun(p);     *p = 6;     printf(«%d\n»,*p);     return(0); } (A) Puede que no funcione (B) Funciona e imprime 6 Respuesta: (A) Explicación: El programa no es válido. Intente reemplazar “int *p;” con “int *p = NULL;” e … Continue reading «C | Asignación dinámica de memoria | Pregunta 3»

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

La combinación más adecuada para los siguientes pares (GATE CS 2000) X: m=malloc(5); m= NULL;        1: using dangling pointers Y: free(n); n->value=5;         2: using uninitialized pointers Z: char *p; *p = ’a’;           3. lost memory is: (A) X—1 Y—3 Z-2 (B) (X—2 Y—1 Z-3 (C) X—3 Y—2 Z-1 Haga clic aquí para el curso completo! … Continue reading «C | Asignación dinámica de memoria | Pregunta 1»

Diferencia entre asignación de memoria estática y dinámica en C

Asignación de memoria: la asignación de memoria es un proceso mediante el cual los programas y servicios informáticos se asignan con espacio de memoria física o virtual. La asignación de memoria se realiza antes o en el momento de la ejecución del programa. Hay dos tipos de asignaciones de memoria:   Tiempo de compilación o asignación … Continue reading «Diferencia entre asignación de memoria estática y dinámica en C»

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

¿Cuál es el tipo de devolución de malloc() o calloc() (A) void * (B) Tipo de puntero de memoria asignada (C) void ** (D) int * Respuesta: (A) Explicación: malloc() y calloc( ) devolución nula *. Es posible que recibamos una advertencia en C si no escribimos el tipo de retorno al puntero apropiado. Cuestionario … Continue reading «C | Asignación dinámica de memoria | Pregunta 5»

new vs malloc() y free() vs delete en C++

Usamos operadores new y delete en C++ para asignar memoria dinámicamente, mientras que las funciones malloc() y free() también se usan para el mismo propósito en C y C++. La funcionalidad de new o malloc() y delete o free() parece ser la misma pero difieren en varios aspectos. El comportamiento con respecto a las llamadas … Continue reading «new vs malloc() y free() vs delete en C++»

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»

Cómo inicializar una array de objetos con constructores parametrizados en C++

Array de objetos:  cuando se define una clase, solo se define la especificación del objeto; no se asigna memoria ni almacenamiento. Para usar las funciones de datos y acceso definidas en la clase, debe crear objetos. Sintaxis:  ClassName ObjectName[number of objects]; Diferentes métodos para inicializar el Array de objetos con constructores parametrizados :      … Continue reading «Cómo inicializar una array de objetos con constructores parametrizados en C++»

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»

nuevo vs operador nuevo en C++

Cuando crea un nuevo objeto, la memoria se asigna utilizando la nueva función del operador y luego se invoca al constructor para inicializar la memoria. Aquí, el operador new realiza tanto la asignación como la inicialización, mientras que el operador new solo realiza la asignación. Veamos cómo funcionan ambos individualmente. nueva palabra clave El nuevo … Continue reading «nuevo vs operador nuevo 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»