Академический Документы
Профессиональный Документы
Культура Документы
2020
Programación
Punteros
1. Considere las siguientes instrucciones:
int *p;
int i;
int k;
i = 42;
k = i;
p = &i;
A. k = 75;
B. *k = 75;
C. p = 75;
D. *p = 75;
E. Dos o más de las anteriores.
char c = 'A';
double *p = &c;
7. Suponga que primero, ultimo y medio son punteros del mismo tipo y
primero y ultimo apuntan al primer y último elemento de un vector. Si quiere
que medio apunte al elemento que está en la mitad del vector ¿por qué la siguiente
instrucción es inválida y cómo se podría solucionar?
Usar notación aritmética de punteros (no subíndices []) para recorrer el vector.
double prod_esc (const double *a, const double *b, int n);
Usar notación aritmética de punteros (no subíndices []) para recorrer los vectores.
10. Escriba un programa que permita al usuario ingresar valores enteros en una
matriz de 3x3 y luego imprima los elementos de la diagonal principal.
Usar notación aritmética de punteros (no subíndices []) para recorrer la matriz.
struct mi_estructura {
char a, b;
int c;
int e [5];
};
a) p->b = ’ ’;
b) p->e [3] = 10;
c) (*p).a = ’*’;
d) *p.b = ’?’;
e) me.c = 1;
f) p.c = 1;
struct {
union {
char a, b;
int c;
} d;
int e [5];
} f, *p = &f;
g) p->b = ’ ’;
h) p->e [3] = 10;
i) (*p).d.a = ’*’;
j) p->d->c = ’x’;
Memoria dinámica
13. Escribir un prog. en el que el usuario informa la cantidad de elementos que va a
ingresar y luego los valores de los elementos (enteros).
14. Escribir un programa para leer el archivo vector .dat del ejercicio anterior y
almacenarlo en un vector. No se conoce la cantidad de elementos y no se puede
limitar.
15. Escriba la función duplicar que reserve memoria dinámicamente para
duplicar un string que se le pasa como argumento. Por ejemplo, la llamada:
p = duplicar (str);
debe reservar memoria para un string de la misma longitud que str, copiar los datos
y retornar un puntero a la nueva cadena de caracteres. Si la reserva de memoria falla,
entonces duplicar debe retornar un puntero nulo.
struct punto {
int x;
int y;
};
struct rectangulo {
struct punto superior_izq;
struct punto inferior_der;
};
struct rectangulo *p;
Escriba las líneas necesarias para que p apunte a una estructura rectangulo
válida que tenga (10,25) como esquina superior izquierda y (20,15) como esquina
inferior derecha.