Resultados de la búsqueda a petición "malloc"
Alcance de malloc usado en una función
Cuando vuelve una función, ¿se libera la memoria asignada a través de malloc? ¿O aún se puede acceder a él en la función main () usando punteros? p.ej. void function(int *a) { a=(int *)malloc(sizeof(int)); *a=10; } int main() { int *num; ...
Asignar ram ejecutable en c en linux
Quiero hacer un compilador simple justo a tiempo con c en Linux. ¿Cómo puedo asignar memoria de modo que pueda escribir código x86 sin procesar y ejecutarla como cualquier otra función?
Salida a stderr siempre que se llame a malloc / free
Con Linux / GCC / C ++, me gustaría grabar algo en stderr siempre que se llame a malloc / free / new / delete. Estoy tratando de comprender las asignaciones de memoria de una biblioteca, por lo que me gustaría generar esta salida mientras ejecuto ...
¿La asignación usando sizeof produce un tamaño incorrecto para punteros de estructura?
Usando valgrind para leer esto obtengo: Escritura / lectura inválida de tamaño 4 struct Person{ char* name; int age; }; struct Person* create_person(char *name, int age) { struct Person* me = (struct Person*)malloc(sizeof(struct ...
¿Printf () asigna memoria en C?
Este método simple solo crea una matriz de tamaño dinámico n y lo inicializa con valores 0 ... n-1. Contiene un error, malloc () asigna solo n en lugar de sizeof (int) * n bytes: int *make_array(size_t n) { int *result = malloc(n); for (int i = ...
Programación en C: malloc () dentro de otra función
necesito ayuda conmalloc() dentro de otra función. Estoy pasando unpunteroyTallaa la función de mimain() y me gustaría asignar memoria para ese puntero dinámicamente usandomalloc() desde adentro de esa función llamada, pero lo que veo es que ... ...
Si free () conoce la longitud de mi matriz, ¿por qué no puedo solicitarla en mi propio código?
Sé que es una convención común pasar la longitud de las matrices asignadas dinámicamente a las funciones que las manipulan: void initializeAndFree(int* anArray, size_t length); int main(){ size_t arrayLength = 0; scanf("%d", &arrayLength); int* ...