SlideShare una empresa de Scribd logo
1 de 23
REGLA DERECHA - IZQUIERDA
1. INICIE CON EL IDENTIFICADOR.
2. MIRE A LA DERECHA EL ATRIBUTO.
3. SI NO SE ENCUENTRA, VEA A LA IZQUIERDA.
4. SI LO ENCUENTRA, SUSTITUIR POR EL
SIGNIFICADO.
5. CONTINÚE LA SUSTITUCIÓN DERECHA –
IZQUIERDA
HASTA QUE SALGA.
6. PARE CUANDO UD. ENCUENTRE UN TIPO DE
DATO
ATRIBUTOS Y SU SIGNIFICADO
ATRIBUTOS SIGNIFICADO
() Función
[ ] Arreglo
* Puntero
(), [ ] TIENEN MAYOR PRECEDENCIA QUE EL *
() Y [ ] SE EVALÚAN DE IZQUIERDA A DERECHA.
DECLARACIONES LEGALES
ATRIBUTOS
SIGNIFICADO
*p() p es una función que
retorna un puntero.
(*pf)( ) pf es un puntero a
función.
*p[ n ] p es un arreglo de n
punteros.
(*p)[ n ] p es un puntero a un
arreglo de n
elementos.
p [ ][ ] p es un arreglo de
DECLARACIONES ILEGALES
SE DEBE USAR PARÉNTESIS ENTRE () Y [ ]
ATRIBUTOS SIGNIFICADO
()[ ] Función retorna un
arreglo
[ ]() Arreglo de
funciones
()() Función retorna
una función
PARA DESCIFRAR UNA DECLARACIÓN SUSTITUYA
EL SIGNIFICADO EN DONDE EL ATRIBUTO
APARECE.
ATRIBUTOS SIGNIFICADO
() Función retorna
[ n ] Arreglo de n
* Puntero a
TABLA DE DECLARACIONES LEGALES
ATRIBUTOS SIGNIFICADO
(*pf( ) )[ ] pf es una función
que retorna un
puntero a un arreglo.
( * pf[ ])() pf es un arreglo de
punteros a función.
( *pf() ) () pf es una función
que retorna un
puntero a función.
EJEMPLO 1.
unsigned long buff[ n ];
buff es un arreglo de 10 unsigned long
EJEMPLO 1.
int ( *pf [ 5 ]) ();
pf es un arreglo de 5 punteros a
función que retornan un entero.
Seria ilegal si escribimos
int *pf [ 5 ] ();
debe haber paréntesis entre [ ] y ().
EJEMPLO 3.
int *( *pf [ 5 ]) ();
pf es un arreglo de 5 punteros a
función que devuelven un puntero a
entero.
EJEMPLO 4.
struct block *( *tabla() ) [10];
tabla es una función que retorna un
puntero a un arreglo de 10 punteros a
estructura de tipo block.
EJEMPLO 5.
int buff [10];
buff es un arreglo de 10 elementos
enteros.
EJEMPLO 6.
int *buff[10];
buff es un arreglo de 10 punteros a
enteros.
EJEMPLO 7.
int (*buff[10]) ();
buff es un arreglo de 10 punteros a
funciones que devuelven un entero.
EJEMPLO 8.
int *(*buff[10]) ();
buff es un arreglo de 10 punteros a
funciones que devuelven un puntero a
entero.
EJEMPLO 9.
int *p;
p es un puntero a entero.
EJEMPLO 10.
int (*pf) ();
pf es un puntero a función que
devuelve un entero.
EJEMPLO 11.
int *(*pf) ();
pf es un puntero a función que
devuelve un puntero a entero.
EJEMPLO 12.
double (*(*pf) () ) [3] [4];
pf es un puntero a función que
devuelve un puntero a arreglo de 3x4
de doble precisión.
#include<stdio.h>
main()
{
char *join( char *x, char *y);
char *joinb(char *x, char *y);
char *( *ps[2] ) ( char *, char *);
ps[0] = join;
ps[1] = joinb;
printf(“%sn”, (*ps[0])(“Alpha”,”bet”));
printf(“%sn”, (*ps[1])(“Ice”,”cream”));
}
char *join( char *s1 , char *s2)
{ char *ptrnew;
ptrnew = malloc( strlen(s1) + strlen(s2) +
1);
if ( ptrnew == ( char *) NULL ) {
fprintf(stderr, “malloc no puede crear
espacion”);
exit(1);
}return( strcat ( strcpy (ptrnew,s1),s2);
}
char *joinb( char *s1, char *s2){
char *ptrnew;
ptrnew = malloc( strlen(s1) + strlen(s2) +
2);
if ( ptrnew == ( char *) NULL ) {
fprintf(stderr, “malloc no puede crear
espacion”);
exit(1); }
return( strcat ( strcpy (ptrnew,s1), “ ”,s2);

Más contenido relacionado

La actualidad más candente (12)

Python02
Python02Python02
Python02
 
Tipos de operadores
Tipos de operadoresTipos de operadores
Tipos de operadores
 
Tipos de operadores_velazquez
Tipos de operadores_velazquezTipos de operadores_velazquez
Tipos de operadores_velazquez
 
Tipos de operadores_dulce_velazquez
Tipos de operadores_dulce_velazquezTipos de operadores_dulce_velazquez
Tipos de operadores_dulce_velazquez
 
01 el lenguaje Python
01 el lenguaje Python01 el lenguaje Python
01 el lenguaje Python
 
Python03
Python03Python03
Python03
 
Trabajo dehoy (1)
Trabajo dehoy (1)Trabajo dehoy (1)
Trabajo dehoy (1)
 
Python Tutorial Presentation
Python Tutorial PresentationPython Tutorial Presentation
Python Tutorial Presentation
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
Maple v comandos
Maple v comandosMaple v comandos
Maple v comandos
 
Preguntas
PreguntasPreguntas
Preguntas
 
Presentación1
Presentación1Presentación1
Presentación1
 

Más de Alvaro Pino

Más de Alvaro Pino (10)

Module 01a2020
Module 01a2020Module 01a2020
Module 01a2020
 
Module 01a2020
Module 01a2020Module 01a2020
Module 01a2020
 
Chap 15gpin
Chap 15gpinChap 15gpin
Chap 15gpin
 
Chap 15fpin
Chap 15fpinChap 15fpin
Chap 15fpin
 
Chap 15epin
Chap 15epinChap 15epin
Chap 15epin
 
Chap 15dpin
Chap 15dpinChap 15dpin
Chap 15dpin
 
Chap 15cpin
Chap 15cpinChap 15cpin
Chap 15cpin
 
Chap 15bpin
Chap 15bpinChap 15bpin
Chap 15bpin
 
Chap 15apin
Chap 15apinChap 15apin
Chap 15apin
 
Concurrent programing
Concurrent programingConcurrent programing
Concurrent programing
 

Último

Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 

Último (20)

Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 

Regla derecha izquierda

  • 1. REGLA DERECHA - IZQUIERDA 1. INICIE CON EL IDENTIFICADOR. 2. MIRE A LA DERECHA EL ATRIBUTO. 3. SI NO SE ENCUENTRA, VEA A LA IZQUIERDA. 4. SI LO ENCUENTRA, SUSTITUIR POR EL SIGNIFICADO. 5. CONTINÚE LA SUSTITUCIÓN DERECHA – IZQUIERDA HASTA QUE SALGA. 6. PARE CUANDO UD. ENCUENTRE UN TIPO DE DATO
  • 2. ATRIBUTOS Y SU SIGNIFICADO ATRIBUTOS SIGNIFICADO () Función [ ] Arreglo * Puntero (), [ ] TIENEN MAYOR PRECEDENCIA QUE EL * () Y [ ] SE EVALÚAN DE IZQUIERDA A DERECHA.
  • 3. DECLARACIONES LEGALES ATRIBUTOS SIGNIFICADO *p() p es una función que retorna un puntero. (*pf)( ) pf es un puntero a función. *p[ n ] p es un arreglo de n punteros. (*p)[ n ] p es un puntero a un arreglo de n elementos. p [ ][ ] p es un arreglo de
  • 4. DECLARACIONES ILEGALES SE DEBE USAR PARÉNTESIS ENTRE () Y [ ] ATRIBUTOS SIGNIFICADO ()[ ] Función retorna un arreglo [ ]() Arreglo de funciones ()() Función retorna una función
  • 5. PARA DESCIFRAR UNA DECLARACIÓN SUSTITUYA EL SIGNIFICADO EN DONDE EL ATRIBUTO APARECE. ATRIBUTOS SIGNIFICADO () Función retorna [ n ] Arreglo de n * Puntero a
  • 6. TABLA DE DECLARACIONES LEGALES ATRIBUTOS SIGNIFICADO (*pf( ) )[ ] pf es una función que retorna un puntero a un arreglo. ( * pf[ ])() pf es un arreglo de punteros a función. ( *pf() ) () pf es una función que retorna un puntero a función.
  • 7. EJEMPLO 1. unsigned long buff[ n ]; buff es un arreglo de 10 unsigned long
  • 8. EJEMPLO 1. int ( *pf [ 5 ]) (); pf es un arreglo de 5 punteros a función que retornan un entero.
  • 9. Seria ilegal si escribimos int *pf [ 5 ] (); debe haber paréntesis entre [ ] y ().
  • 10. EJEMPLO 3. int *( *pf [ 5 ]) (); pf es un arreglo de 5 punteros a función que devuelven un puntero a entero.
  • 11. EJEMPLO 4. struct block *( *tabla() ) [10]; tabla es una función que retorna un puntero a un arreglo de 10 punteros a estructura de tipo block.
  • 12. EJEMPLO 5. int buff [10]; buff es un arreglo de 10 elementos enteros.
  • 13. EJEMPLO 6. int *buff[10]; buff es un arreglo de 10 punteros a enteros.
  • 14. EJEMPLO 7. int (*buff[10]) (); buff es un arreglo de 10 punteros a funciones que devuelven un entero.
  • 15. EJEMPLO 8. int *(*buff[10]) (); buff es un arreglo de 10 punteros a funciones que devuelven un puntero a entero.
  • 16. EJEMPLO 9. int *p; p es un puntero a entero.
  • 17. EJEMPLO 10. int (*pf) (); pf es un puntero a función que devuelve un entero.
  • 18. EJEMPLO 11. int *(*pf) (); pf es un puntero a función que devuelve un puntero a entero.
  • 19. EJEMPLO 12. double (*(*pf) () ) [3] [4]; pf es un puntero a función que devuelve un puntero a arreglo de 3x4 de doble precisión.
  • 20. #include<stdio.h> main() { char *join( char *x, char *y); char *joinb(char *x, char *y); char *( *ps[2] ) ( char *, char *);
  • 21. ps[0] = join; ps[1] = joinb; printf(“%sn”, (*ps[0])(“Alpha”,”bet”)); printf(“%sn”, (*ps[1])(“Ice”,”cream”)); }
  • 22. char *join( char *s1 , char *s2) { char *ptrnew; ptrnew = malloc( strlen(s1) + strlen(s2) + 1); if ( ptrnew == ( char *) NULL ) { fprintf(stderr, “malloc no puede crear espacion”); exit(1); }return( strcat ( strcpy (ptrnew,s1),s2); }
  • 23. char *joinb( char *s1, char *s2){ char *ptrnew; ptrnew = malloc( strlen(s1) + strlen(s2) + 2); if ( ptrnew == ( char *) NULL ) { fprintf(stderr, “malloc no puede crear espacion”); exit(1); } return( strcat ( strcpy (ptrnew,s1), “ ”,s2);