Articles of malloc

Escribir al puntero fuera de límites después de que malloc () no haya causado el error

cuando pruebo el código a continuación, funciona bien. ¿Me estoy perdiendo de algo? main() { int *p; p=malloc(sizeof(int)); printf(“size of p=%d\n”,sizeof(p)); p[500]=999999; printf(“p[0]=%d”,p[500]); return 0; } Lo probé con malloc (0 * sizeof (int)) o cualquier cosa, pero funciona muy bien. El progtwig solo falla cuando no uso malloc. Así que incluso si asigno 0 […]

¿Puedo confiar en que Malloc devolverá NULL?

Leí que en los sistemas Unix, malloc puede devolver un puntero que no sea NULL, incluso si la memoria no está realmente disponible, e intentar usar la memoria más tarde provocará un error. Como no puedo detectar ese error al buscar NULL, me pregunto qué tan útil es verificar NULL en absoluto. En una nota […]

¿Cuál es la diferencia entre un VLA y la asignación de memoria dinámica a través de malloc?

Tenía curiosidad con esto: Cuál es la diferencia entre: const int MAX_BUF = 1000; char* Buffer = malloc(MAX_BUF); y: char Buffer[MAX_BUF];

sprintf () con asignación de memoria automática?

Estoy buscando un sprintf () – como la implementación de una función que asigna automáticamente la memoria requerida. Entonces quiero decir char* my_str = dynamic_sprintf( “Hello %s, this is a %.*s nice %05d string”, a, b, c, d ); y my_str recupera la dirección de una memoria asignada que contiene el resultado de este sprintf […]

Declaración implícita incompatible de la función incorporada ‘malloc’

Me aparece este error: advertencia: statement implícita incompatible de la función incorporada ‘malloc‘ Estoy tratando de hacer esto: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Solo para la referencia, la estructura utilizada es: typedef struct { fileinfo** filedata; size_t nFiles; size_t size; size_t fileblock; } fileinfo_list; No veo nada malo con lo que he hecho. Solo estoy creando […]

¿Por qué obtengo una falla de aserción C malloc?

Estoy implementando un algoritmo polinomial de división y conquista para poder compararlo con una implementación de OpenCL, pero no puedo hacer que malloc funcione. Cuando ejecuto el progtwig, asigna un montón de cosas, comprueba algunas cosas y luego envía el size/2 al algoritmo. Luego, cuando vuelvo a golpear la línea de malloc , escupe esto: […]

¿Cómo puedo asignar memoria y devolverla (a través de un puntero-parámetro) a la función de llamada?

Tengo un código en un par de funciones diferentes que se ve así: void someFunction (int *data) { data = (int *) malloc (sizeof (data)); } void useData (int *data) { printf (“%p”, data); } int main () { int *data = NULL; someFunction (data); useData (data); return 0; } someFunction () y useData () […]

¿Cómo encontrar la causa de un error malloc “double free”?

Estoy progtwigndo una aplicación en Objective-C y estoy obteniendo este error: MyApp (2121,0xb0185000) malloc: *** error para el objeto 0x1068310: doble libre *** establecer un punto de interrupción en malloc_error_break para depurar Está sucediendo cuando lanzo un NSAutoreleasePool y no puedo descifrar qué objeto estoy liberando dos veces. ¿Cómo configuro su punto de inflexión? ¿Hay […]

alineado malloc () en GCC?

¿Hay alguna función estandarizada en GCC o glibc para asignar bloque de memoria en el puntero alineado? Al igual que _align_malloc () en MSVC?

C – asignar una matriz en una función

Intento asignar una matriz usando una función que toma sus dimensiones y un puntero triple. He asignado un int ** (establecido en NULL) y estoy pasando su dirección como argumento de la función. Eso me da una infracción de acceso a la memoria por alguna razón. void allocateMatrix(int ***matrix, int row, int col) { int […]