Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tipos de Datos EJ
Tipos de Datos EJ
ESTRUCTURAS DE DATOS
RECUERDE * Y &
Si
Deseo
Si
tengo un puntero y
conocer que almacena, antepongo *
Deseo
Son
ERRORES
Encuentre
Que pta apunte a a
Que ptb apunte al mismo sitio que pta Que pta cambie de contenido a 8 Que ptb cambie de contenido aumentando 3 unidades Que ptb apunte a NULL Que b almacene 8 Que ptb apunte a b Que ptb cambie de contenido a a + 10 Imprima la suma de los contenidos de pta y ptb
EL DESTINO DE UN PUNTERO
Un
puntero puede tener dos posibles caminos durante su existencia apuntar a un espacio de memoria de otra variable.
int *a, b = 10; a = &b; //a no tiene memoria propia, es un ESPEJO de b
Puede
Puede
RESULTADOS Y ERRORES
Descubra
char *pta, car1; *pta = car1;
los errores
Determine
el resultado que almacenan las variables al final int *ptc, *ptn, b=20;
ptc = &b; ptn = malloc ( sizeof (int)); *ptn = b + 15; *ptc = *ptc -1; ptc = ptn; *ptc = 2;
int *ptc, b; b = malloc ( sizeof ( int ) ); *b = 8; ptc = malloc(sizeof(int)); ptc = b+5; free(*ptc); b = *ptc + 10;
un puntero a char llamado B y otro llamado C memoria a B para 30 caracteres en B una palabra cualquiera
aritmtica de punteros, modifique todos los caracteres de la cadena para que pase de minus. a mayus. aritmtica de punteros C debe apuntar al carcter de la mitad de la cadena B
Usando
ARREGLOS DE PUNTEROS
Un
arreglo puede ser de entero, de real, o de puntero a enteros, o puntero a real, etc. Ejemplo:
int
} A[i] = NULL;
int
un puntero a puntero a entero. Como podramos usar esta variable? Que formas habra para manipularla y utilizarla?
EJEMPLO
int **A; A = malloc(sizeof(int *) * 10); for(i = 0; i <10; i++){ A[i] = malloc(sizeof(int)); *A[i] = 0; } 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 funcin que dado un numero, lo modifique invirtiendo sus dgitos Escriba una funcin 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 funcin que dado un arreglo, retorne otro nuevo solo
EJERCICIOS DE REPASO
Escriba una funcin recursiva que dada dos cadenas, permita conocer si ambas son iguales. Escriba una funcin recursiva que busque un elemento en un arreglo Escriba una funcin recursiva que determine si una palabra es o no un palndromo, sin usar string y usando aritmtica de punteros
EJERCICIOS DE REPASO
Defina
Cree
Defina
de n trminos
Escriba
una funcin Evaluar para que dado un polinomio de n trminos y un valor entero, retorne el valor entero resultante
VOID *
Void
que una funcin no retorna NADA, cuando void es utilizado como tipo de dato de retorno
void
ImprimirEstudiante(Estudiante e);
Como
Un
EJEMPLOS DE VOID *
char car1=B, car2; void *ptg; ptg = &car1; car2 = *((char *)ptg) + 3;
char cad[20], car3; void *ptg; ptg = cad; strcpy(cad, Ejemplo); car3 = *((char *)(ptg) + 3) + 5;
PARA PENSAR
Se