Pr´actico
¿Cuál de las siguientes instrucciones es válida para reservar memoria para apun1?
Apuntes
Pr´actico 12 - Memoria din´amica. Punteros y Listas Programaci´on 1 InCo - Facultad de Ingenier´ıa, Udelar 1. Dadas las siguientes declaraciones: type PunteroInt = ^integer; PunteroChar = ^char; var apun1, apun2: PunteroInt; apun3, apun4: PunteroChar; (a) Determine cu´ales de las siguientes instrucciones son v´alidas: √ new(apun1) □ new(apun1^) □ apun1 := apun3 √ apun2^ := apun2^ + apun1^ □ writeln(apun2, apun3) √ read(apun1^, apun4^) □ apun2 := new(apun1) √ dispose(apun3) √ apun1 := NIL □ apun3^ := NIL □ apun3 := apun4 and (apun3 = NIL) (b) Determine la salida que despliega el siguiente fragmento de c´odigo: new(apun1); new(apun2); new(apun3); apun2 := apun1; apun1^ := 2; apun2^ := 3; apun3^ := 'A'; writeln(apun1^, apun2^, apun3^) Ejecutar el c´odigo. Notar que en este c´odigo se deja colgada la celda de memoria resevada por new(apun2). (c) ¿Tiene alg´un error el siguiente fragmento de c´odigo? new(apun1); read(apun1^); writeln(apun1^); dispose(apun1); writeln(apun1^) Si, tiene un error. En la instrucci´on dispose(apun1) se libera la memoria a la que apunta apun1. Sin embargo, en la instrucci´on writeln(apun1^) se intenta acceder a una posici´on de memoria no reservada. 1 (d) Dete...
Estudia con juegos interactivos
Sube tus apuntes y genera flashcards, examenes y mas con IA
Empezar gratis