Articles of administración de memoria

¿Se puede determinar el tamaño de la matriz en tiempo de ejecución en c?

Como sé, una matriz debe tener un tamaño específico antes de comstackr el tiempo en c. Me pregunto por qué este código todavía funciona. int s; printf(“enter the array size: “); scanf(“%d”,&s); int a[s]; // Isn’t s value determined at run time?

¿@ @ “Some text” da un autorreleasado o retiene 1 objeto?

Dado este código: // Initialize string NSString *name = @”Franzi”; @ “” macro crea un NSString con el texto dado (aquí el nombre Franzi) y un RETENIDO DE CUENTA DE 1? ¿Entonces @ “” da un NSString con el que tiene que ser liberado o no? ¿Soy responsable de este objeto? El segundo ejemplo de […]

¿Es una buena práctica liberar un puntero NULL en C?

Posible duplicado: ¿Libera (ptr) donde ptr es memoria corrupta NULL? Estoy escribiendo una función C que libera un puntero si era malloc() ed. El puntero puede ser NULL (en el caso de que se haya producido un error y el código no haya tenido la posibilidad de asignar nada) o asignado con malloc() . ¿Es […]

¿Por qué querrías asignar memoria en el montón en lugar de la stack?

Posible duplicado: ¿Cuándo es mejor usar una Pila en lugar de una Pila y viceversa? He leído algunas de las otras preguntas con respecto a la stack Heap vs, pero parecen enfocarse más en lo que hace la stack / montón en lugar de por qué las usarías. Me parece que la asignación de stack […]

Matriz bidimensional dinámica de puntero a puntero

Primer contador de tiempo en este sitio web, así que aquí va … Soy un novato en C ++ y actualmente estoy trabajando en el libro “Estructuras de datos usando C ++ 2nd ed, de DS Malik”. En el libro, Malik ofrece dos formas de crear una matriz bidimensional dinámica. En el primer método, declaras […]

Explicar esta implementación de malloc del libro de K & R

Este es un extracto del libro sobre C de Kernighan y Ritchie . Muestra cómo implementar una versión de malloc . Aunque bien comentado, estoy teniendo grandes dificultades para entenderlo. ¿Alguien puede explicarlo? typedef long Align; /* for alignment to long boundary */ union header { /* block header */ struct { union header *ptr; […]

Compruebe si un puntero apunta a la memoria asignada en el montón

Quiero saber si un puntero apunta a una pieza de memoria asignada con malloc / new. Me doy cuenta de que la respuesta para una dirección arbitraria es “No, no puedo”, pero creo que es posible anular malloc / free y realizar un seguimiento de los intervalos de memoria asignados. ¿Conoces una biblioteca de gestión […]

¿Es volátil caro?

Después de leer The JSR-133 Cookbook for Compiler Writers sobre la implementación de volátiles, especialmente la sección “Interacciones con las instrucciones atómicas”, supongo que al leer una variable volátil sin actualizarla se necesita una barrera LoadLoad o LoadStore. Más abajo, en la página, veo que LoadLoad y LoadStore no funcionan en las CPU X86. ¿Significa […]

¿Hay alguna manera de determinar el tamaño de una matriz de C ++ programáticamente? Y si no, ¿por qué?

Esta pregunta se inspiró en una pregunta similar: ¿cómo elimina [] “saber” el tamaño de la matriz de operandos? Mi pregunta es un poco diferente: ¿hay alguna manera de determinar el tamaño de una matriz de C ++ programáticamente? Y si no, ¿por qué? Cada función que he visto que toma una matriz también requiere […]

¿Dónde se almacenan las variables constantes en C?

Me pregunto dónde se almacenan las variables constantes. ¿Está en la misma área de memoria que las variables globales? ¿O está en la stack?