Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EJERCICIOS
ESTRUCTURAS DE DATOS
RECUERDE * Y &
Si tengo una variable y
Deseo obtener su dirección de memoria antepongo &
Si tengo un puntero y
Deseo conocer que almacena, antepongo *
Son operadores que permiten conversión de datos
int *pta, a=5, b;
pta = &a; //a es de tipo int, y con el & se
obtiene un valor int *
b = *pta; // pta es de tipo int *, y con el *
se obtiene un valor int
ERRORES int *pta, *ptb, a, b;
int **A;
A = malloc(sizeof(int *) * 10);
for(i = 0; i <10; i++){
A[i] = malloc(sizeof(int)*5);
for(j = 0; j<5; j++){
A[i][j] = 6;
}
}
EJERCICIOS DE REPASO
Escriba una función que dado un numero, lo
modifique invirtiendo sus dígitos
Escriba una función que dada una matriz de NxN,
permita conocer si la diagonal esta llena de
valores diferentes de 0 y si ese es el caso,
calcule la suma de los mismos.
Escriba una función que dado un arreglo, retorne
otro nuevo solo con los elementos pares
EJERCICIOS DE REPASO
Escriba una función recursiva que dada dos
cadenas, permita conocer si ambas son iguales.
Escriba una función recursiva que busque un
elemento en un arreglo
Escriba una función recursiva que determine si
una palabra es o no un palíndromo, sin usar
string y usando aritmética de punteros
EJERCICIOS DE REPASO
Defina una estructura para representar un termino en un
polinomio. Ejemplo: 3x5.
Cree una función MultiplicarEscalar que dado un término lo
modifica multiplicándolo por un valor entero.
Defina una estructura para representar a un polinomio
Conjunto de n términos
Escriba una función Evaluar para que dado un polinomio de
n términos y un valor entero, retorne el valor entero
resultante de la evaluación del polinomio.
VOID *
Void significa el vacío, la nada
En lenguaje C puede tener dos usos
Indica que una función no retorna NADA, cuando void
es utilizado como tipo de dato de retorno
void ImprimirEstudiante(Estudiante e);
Como un puntero genérico, cuando es utilizado como
puntero (void *)
Un puntero genérico es aquel que puede apuntar a cualquier
tipo de dato, sin ningún problema
EJEMPLOS DE VOID *
char car1=‘B’, car2;
void *ptg;
ptg = &car1;
car2 = *((char *)ptg) + 3;