SlideShare una empresa de Scribd logo
1 de 23
Estructuras de Datos
Tema: 1 Estructuras de datos estáticas
Docente: Mg. Luis Fernando Aguas B
No me diga que el cielo es el límite cuando hay
huellas en la luna.
Una de las mejores frases motivadoras sobre no
ponerse límites, que nos recuerda que el ser
humano puede ser capaz de cualquier cosa que se
proponga. Frase de Paul Brandt.
Objetivo
1. Adquirir los conceptos
básicos relacionados con
las EDD
2. Reconocer las
características de las
EDD
● 1.1 Punteros a estructuras
Contenido
1.1 Punteros a estructuras
Dirección y contenido
• Contenido
– Elemento guardado en
una posición de memoria
‘a’
222
0x3F
‘&’
…
Dirección y contenido
• Contenido
– Elemento guardado en
una posición de memoria
• Dirección
– Identificador de la
posición de memoria
– Puntero representa la
dirección de un elemento
de un tipo
‘a’
222
0x3F
‘&’
…
00
01
02
03
…
Dirección y contenido: ejemplo
• int *
– Puntero a entero
• & …
– Dirección de
• * …
– Valor contenido en
#include <stdio.h>
int main ( int argc,
char *argv[] )
{
int i = 3;
int *pi ;
i = 3;
pi = &i ;
printf(“%dn”,*pi) ;
return 0;
}
Paso de parámetros
void prueba2 ( int j, char c, float f, int pj )
{
/* ... */
}
Paso de parámetros
PI, &i ) ;
i = 10 ;
float PI = 3.14 ;
prueba2 ( i, ‘a’,
…
void prueba2 ( int j, char c, float f, int pj )
{
/* ... */
}
Paso de parámetros
1) Se crea en pila las variables formales
PI, &i ) ;
i = 10 ;
float PI = 3.14 ;
prueba2 ( i, ‘a’,
…
void prueba2 ( int j, char c, float f, int pj )
{
/* ... */
}
Paso de parámetros
PI, &i ) ;
i = 10 ;
float PI = 3.14 ;
prueba2 ( i, ‘a’,
…
10 ‘a’ 3.14 0x
void prueba2 ( int j, char c, float f, int pj )
{
/* ... */
}
2) Se copia el valor de los parámetros reales
Paso de parámetros
PI, &i ) ;
i = 10 ;
float PI = 3.14 ;
prueba2 ( i, ‘a’,
…
10 ‘a’ 3.14 0x
void prueba2 ( int j, char c, float f, int pj )
{
/* ... */
}
Paso de parámetros
Fundamentos de programación en lenguaje C (fig.9.2)
void inc ( int j )
{
j = j + 1 ;
}
Paso de parámetro
por valor
#include <stdio.h>
int main (void)
{
int i = 10;
/* … */
inc(i) ;
/* … */
}
Paso de parámetros
/* … */
}
Paso de parámetro
por valor
#include <stdio.h>
int main (void)
{
int i = 10;
/* … */
10
void inc ( int j )
{
j = j + 1 ;
}
inc(i) ; 1) se copia
Fundamentos de programación en lenguaje C (fig.9.2)
i enj
Paso de parámetros
/* … */
}
j = j + 1 ;
}
Paso de parámetro
por valor
#include <stdio.h>
int main (void)
{
int i = 10;
/* … */
10
void inc ( int j )
{
inc(i) ; 1) se copia
i enj
2) se modifica
j (la copia)
Fundamentos de programación en lenguaje C (fig.9.2)
Paso de parámetros
#include <stdio.h>
int main (void)
{
int i = 10;
/* … */
/* … */
}
j = j + 1 ;
}
Paso de parámetro
por valor
10
void inc ( int j )
{
inc(i) ; 1) se copia
i enj
Paso de parámetro
por referencia
2) se modifica
j (la copia)
Fundamentos de programación en lenguaje C (fig.9.2)
Paso de parámetros
/* … */
/* … */
}
void inc ( int j )
{
j = j + 1 ;
}
Paso de parámetro
por valor
10
inc(i) ; 1) se copia
i enj
#include
int main
<stdio.h>
(void)
#inc
lude
int
main
<stdio.h
>
(void)
{
int
i
= 10;
{
i
n
t
i
= 3;
Paso de parámetro
por referencia
/* … */
inc(&i) ;
/* … */
}
void inc ( int *j )
{
*j = *j + 1 ;
}2) se modifica
j (la copia)
Fundamentos de programación en lenguaje C (fig.9.2)
Paso de parámetros
/* … */
/* … */
}
void inc ( int j )
{
j = j + 1 ;
}
Paso de parámetro
por valor
10
inc(i) ; 1) se copia
i enj
#include
int main
<stdio.h>
(void)
#inc
lude
int
main
<stdio.h
>
(void)
{
int
i
= 10;
{
i
n
t
i
= 3;
Paso de parámetro
por referencia
/* … */
/* … */
}
void inc ( int *j )
{
*j = *j + 1 ;
}
&i
inc(&i) ;
1) se copia
&i en j
2) se modifica
j (la copia)
Fundamentos de programación en lenguaje C (fig.9.2)
Paso de parámetros
/* … */
/* … */
}
void inc ( int j )
{
j = j + 1 ;
}
Paso de parámetro
por valor
10
inc(i) ; 1) se copia
i enj
#include
int main
<stdio.h>
(void)
#inc
lude
int
main
<stdio.h
>
(void)
{
int
i
= 10;
{
i
n
t
i
= 3;
Paso de parámetro
por referencia
/* … */
/* … */
}
void inc ( int *j )
{
*j = *j + 1 ;
}
&i
inc(&i) ;
1) se copia
&i en j
2) se modifica
j (la copia)
2) se modifica
i a través de *j
Fundamentos de programación en lenguaje C (fig.9.2)
Paso de parámetros: ejemplo
• La función inc
incrementa el valor
pasado por
referencia en j
• La función main
define una variable
i, incrementa su
valor y lo imprime
#include <stdio.h>
void inc ( int *j )
{
*j = *j + 1 ;
}
int main (void)
{
int i = 3;
inc(&i) ;
printf(“%dn”,i) ;
return 0;
}
#include <stdio.h>
#include <stdlib.h>
//* * ESTRUCTURAS * *
//Declaramos la estructura
struct datos
{
int codigo;
char nombre[15];
};
int main(int argc, char *argv[])
{
//Variable
struct datos persona;
//PARA METER VALORES
printf("Introduce el codigo:");
scanf("%d", &persona.codigo);
fflush(stdin);
printf("Introduce el nombre:");
gets(persona.nombre);
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
//* * ESTRUCTURAS CON PUNTEROS * *
//Declaramos la estructura
struct datos
{
int codigo;
char nombre[15];
};
int main(int argc, char *argv[])
{
//Variable
struct datos persona;
//Puntero
struct datos *p;
//Inicializar puntero
p=&per;
//PARA METER VALORES
printf("Introduce el codigo:");
scanf("%d",&p->codigo);
fflush(stdin);
printf("Introduce el nombre:");
gets(p->nombre);
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
//* *ARRAYS DE ESTRUCTURAS CON PUNTEROS * *
//Declaramos la estructura
struct datos
{
int codigo;
char nombre[15];
};
int main(int argc, char *argv[])
{
int i;
struct datos array[3];
//Puntero
struct datos *p;
//Inicializar puntero
p=array;
//RECORRER ARRAY PARA METER VALORES
for(i=0;i<3;i++)
{
printf("Introduce el codigo:");
scanf("%d",&(p+i)->codigo);
fflush(stdin);
printf("Introduce el nombre");
gets((p+i)->nombre);
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
//* * ESTRUCTURAS CON PUNTEROS * *
//Declaramos la estructura
struct datos
{
int codigo;
char nombre[15];
};
int main(int argc, char *argv[])
{
struct datos per;
//Puntero
struct datos *p;
//Inicializar puntero
p=&per;
//PARA METER VALORES
printf("Introduce el codigo:");
scanf("%d",&p->codigo);
fflush(stdin);
printf("Introduce el nombre:");
gets(p->nombre);
system("PAUSE");
return 0;
}
Gracias
Responsabilidad con pensamiento positivo

Más contenido relacionado

La actualidad más candente

Arreglos
ArreglosArreglos
ArreglosClariza
 
Practica 1 informática ii
Practica 1 informática iiPractica 1 informática ii
Practica 1 informática iiAlvin Jacobs
 
Lenguaje C para Administradores de Red - Script II Punteros
Lenguaje C para Administradores de Red - Script II PunterosLenguaje C para Administradores de Red - Script II Punteros
Lenguaje C para Administradores de Red - Script II Punterossirfids
 
Programa en visual basic 6
Programa en visual basic 6Programa en visual basic 6
Programa en visual basic 6Ïtzël Löpëz
 
Ejercicio 2
Ejercicio 2Ejercicio 2
Ejercicio 2ismaxmax
 
Ejercicios resueltos informática II practica 1 (nueva 2014)
Ejercicios resueltos informática II practica 1 (nueva 2014)Ejercicios resueltos informática II practica 1 (nueva 2014)
Ejercicios resueltos informática II practica 1 (nueva 2014)Alvin Jacobs
 
Ejercicios java
Ejercicios javaEjercicios java
Ejercicios javajosesan999
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)Pablo Haya
 
Tema 5 - Metodología programación (I)
Tema 5 - Metodología programación (I)Tema 5 - Metodología programación (I)
Tema 5 - Metodología programación (I)Pablo Haya
 
Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez Mery_Angie_Ugalde
 

La actualidad más candente (19)

Ejercicios de la prueba
Ejercicios de la pruebaEjercicios de la prueba
Ejercicios de la prueba
 
Lecture 37
Lecture 37Lecture 37
Lecture 37
 
Arreglos
ArreglosArreglos
Arreglos
 
Ejerciciosprogramacion
EjerciciosprogramacionEjerciciosprogramacion
Ejerciciosprogramacion
 
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
 
Estructuras punteros
Estructuras punterosEstructuras punteros
Estructuras punteros
 
Practica 1 informática ii
Practica 1 informática iiPractica 1 informática ii
Practica 1 informática ii
 
Funciones
FuncionesFunciones
Funciones
 
Lenguaje C para Administradores de Red - Script II Punteros
Lenguaje C para Administradores de Red - Script II PunterosLenguaje C para Administradores de Red - Script II Punteros
Lenguaje C para Administradores de Red - Script II Punteros
 
Programa en visual basic 6
Programa en visual basic 6Programa en visual basic 6
Programa en visual basic 6
 
Ejercicio 2
Ejercicio 2Ejercicio 2
Ejercicio 2
 
Hola mundo
Hola mundoHola mundo
Hola mundo
 
Ejercicios resueltos informática II practica 1 (nueva 2014)
Ejercicios resueltos informática II practica 1 (nueva 2014)Ejercicios resueltos informática II practica 1 (nueva 2014)
Ejercicios resueltos informática II practica 1 (nueva 2014)
 
Ejercicios java
Ejercicios javaEjercicios java
Ejercicios java
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
 
Tema 5 - Metodología programación (I)
Tema 5 - Metodología programación (I)Tema 5 - Metodología programación (I)
Tema 5 - Metodología programación (I)
 
8 b refactoring
8 b refactoring8 b refactoring
8 b refactoring
 
Practica 13
Practica 13Practica 13
Practica 13
 
Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez
 

Similar a S1-EDD-1.1 Punteros a estructuras (20)

Curso c ii
Curso c iiCurso c ii
Curso c ii
 
Curso c ii
Curso c iiCurso c ii
Curso c ii
 
Curso C Ii
Curso C IiCurso C Ii
Curso C Ii
 
Punteros2
Punteros2Punteros2
Punteros2
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 
Programacion
ProgramacionProgramacion
Programacion
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 
Tra
TraTra
Tra
 
Tra 130315111309-phpapp02
Tra 130315111309-phpapp02Tra 130315111309-phpapp02
Tra 130315111309-phpapp02
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
A1 u1-16230227
A1 u1-16230227A1 u1-16230227
A1 u1-16230227
 
informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento-
 
El lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevEl lenguaje de programacion c++ prev
El lenguaje de programacion c++ prev
 
Creacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeansCreacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeans
 
Introduccion a c++
Introduccion a c++Introduccion a c++
Introduccion a c++
 
Teoria punteros
Teoria punterosTeoria punteros
Teoria punteros
 
Ejercicios propuestos
Ejercicios propuestosEjercicios propuestos
Ejercicios propuestos
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTGestorManpower
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 

Último (20)

SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SST
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 

S1-EDD-1.1 Punteros a estructuras

  • 1. Estructuras de Datos Tema: 1 Estructuras de datos estáticas Docente: Mg. Luis Fernando Aguas B
  • 2. No me diga que el cielo es el límite cuando hay huellas en la luna. Una de las mejores frases motivadoras sobre no ponerse límites, que nos recuerda que el ser humano puede ser capaz de cualquier cosa que se proponga. Frase de Paul Brandt.
  • 3. Objetivo 1. Adquirir los conceptos básicos relacionados con las EDD 2. Reconocer las características de las EDD ● 1.1 Punteros a estructuras Contenido
  • 4. 1.1 Punteros a estructuras
  • 5. Dirección y contenido • Contenido – Elemento guardado en una posición de memoria ‘a’ 222 0x3F ‘&’ …
  • 6. Dirección y contenido • Contenido – Elemento guardado en una posición de memoria • Dirección – Identificador de la posición de memoria – Puntero representa la dirección de un elemento de un tipo ‘a’ 222 0x3F ‘&’ … 00 01 02 03 …
  • 7. Dirección y contenido: ejemplo • int * – Puntero a entero • & … – Dirección de • * … – Valor contenido en #include <stdio.h> int main ( int argc, char *argv[] ) { int i = 3; int *pi ; i = 3; pi = &i ; printf(“%dn”,*pi) ; return 0; }
  • 8. Paso de parámetros void prueba2 ( int j, char c, float f, int pj ) { /* ... */ }
  • 9. Paso de parámetros PI, &i ) ; i = 10 ; float PI = 3.14 ; prueba2 ( i, ‘a’, … void prueba2 ( int j, char c, float f, int pj ) { /* ... */ }
  • 10. Paso de parámetros 1) Se crea en pila las variables formales PI, &i ) ; i = 10 ; float PI = 3.14 ; prueba2 ( i, ‘a’, … void prueba2 ( int j, char c, float f, int pj ) { /* ... */ }
  • 11. Paso de parámetros PI, &i ) ; i = 10 ; float PI = 3.14 ; prueba2 ( i, ‘a’, … 10 ‘a’ 3.14 0x void prueba2 ( int j, char c, float f, int pj ) { /* ... */ } 2) Se copia el valor de los parámetros reales
  • 12. Paso de parámetros PI, &i ) ; i = 10 ; float PI = 3.14 ; prueba2 ( i, ‘a’, … 10 ‘a’ 3.14 0x void prueba2 ( int j, char c, float f, int pj ) { /* ... */ }
  • 13. Paso de parámetros Fundamentos de programación en lenguaje C (fig.9.2) void inc ( int j ) { j = j + 1 ; } Paso de parámetro por valor #include <stdio.h> int main (void) { int i = 10; /* … */ inc(i) ; /* … */ }
  • 14. Paso de parámetros /* … */ } Paso de parámetro por valor #include <stdio.h> int main (void) { int i = 10; /* … */ 10 void inc ( int j ) { j = j + 1 ; } inc(i) ; 1) se copia Fundamentos de programación en lenguaje C (fig.9.2) i enj
  • 15. Paso de parámetros /* … */ } j = j + 1 ; } Paso de parámetro por valor #include <stdio.h> int main (void) { int i = 10; /* … */ 10 void inc ( int j ) { inc(i) ; 1) se copia i enj 2) se modifica j (la copia) Fundamentos de programación en lenguaje C (fig.9.2)
  • 16. Paso de parámetros #include <stdio.h> int main (void) { int i = 10; /* … */ /* … */ } j = j + 1 ; } Paso de parámetro por valor 10 void inc ( int j ) { inc(i) ; 1) se copia i enj Paso de parámetro por referencia 2) se modifica j (la copia) Fundamentos de programación en lenguaje C (fig.9.2)
  • 17. Paso de parámetros /* … */ /* … */ } void inc ( int j ) { j = j + 1 ; } Paso de parámetro por valor 10 inc(i) ; 1) se copia i enj #include int main <stdio.h> (void) #inc lude int main <stdio.h > (void) { int i = 10; { i n t i = 3; Paso de parámetro por referencia /* … */ inc(&i) ; /* … */ } void inc ( int *j ) { *j = *j + 1 ; }2) se modifica j (la copia) Fundamentos de programación en lenguaje C (fig.9.2)
  • 18. Paso de parámetros /* … */ /* … */ } void inc ( int j ) { j = j + 1 ; } Paso de parámetro por valor 10 inc(i) ; 1) se copia i enj #include int main <stdio.h> (void) #inc lude int main <stdio.h > (void) { int i = 10; { i n t i = 3; Paso de parámetro por referencia /* … */ /* … */ } void inc ( int *j ) { *j = *j + 1 ; } &i inc(&i) ; 1) se copia &i en j 2) se modifica j (la copia) Fundamentos de programación en lenguaje C (fig.9.2)
  • 19. Paso de parámetros /* … */ /* … */ } void inc ( int j ) { j = j + 1 ; } Paso de parámetro por valor 10 inc(i) ; 1) se copia i enj #include int main <stdio.h> (void) #inc lude int main <stdio.h > (void) { int i = 10; { i n t i = 3; Paso de parámetro por referencia /* … */ /* … */ } void inc ( int *j ) { *j = *j + 1 ; } &i inc(&i) ; 1) se copia &i en j 2) se modifica j (la copia) 2) se modifica i a través de *j Fundamentos de programación en lenguaje C (fig.9.2)
  • 20. Paso de parámetros: ejemplo • La función inc incrementa el valor pasado por referencia en j • La función main define una variable i, incrementa su valor y lo imprime #include <stdio.h> void inc ( int *j ) { *j = *j + 1 ; } int main (void) { int i = 3; inc(&i) ; printf(“%dn”,i) ; return 0; }
  • 21. #include <stdio.h> #include <stdlib.h> //* * ESTRUCTURAS * * //Declaramos la estructura struct datos { int codigo; char nombre[15]; }; int main(int argc, char *argv[]) { //Variable struct datos persona; //PARA METER VALORES printf("Introduce el codigo:"); scanf("%d", &persona.codigo); fflush(stdin); printf("Introduce el nombre:"); gets(persona.nombre); system("PAUSE"); return 0; } #include <stdio.h> #include <stdlib.h> //* * ESTRUCTURAS CON PUNTEROS * * //Declaramos la estructura struct datos { int codigo; char nombre[15]; }; int main(int argc, char *argv[]) { //Variable struct datos persona; //Puntero struct datos *p; //Inicializar puntero p=&per; //PARA METER VALORES printf("Introduce el codigo:"); scanf("%d",&p->codigo); fflush(stdin); printf("Introduce el nombre:"); gets(p->nombre); system("PAUSE"); return 0; }
  • 22. #include <stdio.h> #include <stdlib.h> //* *ARRAYS DE ESTRUCTURAS CON PUNTEROS * * //Declaramos la estructura struct datos { int codigo; char nombre[15]; }; int main(int argc, char *argv[]) { int i; struct datos array[3]; //Puntero struct datos *p; //Inicializar puntero p=array; //RECORRER ARRAY PARA METER VALORES for(i=0;i<3;i++) { printf("Introduce el codigo:"); scanf("%d",&(p+i)->codigo); fflush(stdin); printf("Introduce el nombre"); gets((p+i)->nombre); } system("PAUSE"); return 0; } #include <stdio.h> #include <stdlib.h> //* * ESTRUCTURAS CON PUNTEROS * * //Declaramos la estructura struct datos { int codigo; char nombre[15]; }; int main(int argc, char *argv[]) { struct datos per; //Puntero struct datos *p; //Inicializar puntero p=&per; //PARA METER VALORES printf("Introduce el codigo:"); scanf("%d",&p->codigo); fflush(stdin); printf("Introduce el nombre:"); gets(p->nombre); system("PAUSE"); return 0; }