SlideShare uma empresa Scribd logo
1 de 6
COMO UTILIZAR CONST CON
     APUNTADORES
O EXISTEN 4 OPCIONES PARA PASAR
    UN APUNTADORA UNA FUNCION
O   UN PAUNTADOR NO CONSTANTE A
    DATOS NO CONSTANTES.
O   UN APUNTADOR CONSTANTE A
    DATOS NO CONSTANTES.
O   UN APUNTADOR NO CONSTANTE A
    DATOS CONSTTANTES.
O   UN APUNTADOR CONSTANTE A
    DATOS COSTANTES.
NIVEL DE ACCESO DE DATOS
O EL NIVEL MAS ALTO DE ACCESO SE CONSIGUE
  MEDIANTE UN APUNTADOR NO CONSTANTE A
  DATOS NO CONSTANTES. EN ESTE CASO, LOS
  DATOS PUEDEN SER MODIFICADOS A TRAVES
  DE UN APUNTADOR DESREFERENCIADO, Y EL
  APUNTADOR PUEDE SER MODIFICADO PARA
  SEÑALAR A OTROS ELEMENTOS DE DATOS.
O UN APUNTADOR NO CONSTANTE A DATOS NO
  CONSTANTES NO INCLUYE LA FUNCION CONST.
  TAL APUNTADOR PUDIERA SER UTILIZADO PARA
  RECIBIR UNA CADENA COMO ARGUMENTOA
  UNA FUNCION QUE UTILIZA ARITMETICA DE
  APUNTADOR      PARA     PROCESAR       Y
  POSIBLEMENTE PARA MODIFICARLA CADA
  CARÁCTER DENTRO DE LA CADENA.
O UN APUNTADOR NO CONSTANTE A DATOS
  CONSTANTES ES UN APUNTADOR QUE PUEDE
  SER MODIFICADO PARA APUNTAR A CUALQUIER
  ELEMENTO     DE    DATOS     DEL    TIPO
  APROPIADO,   ERO    NO    PUEDEN     SER
  MODIFICADOS LOS DATOS HACIA LOS CUALES
  APUNTA.
EJEMPLO DE APUNTADOR NO CONSTANTE A
                DATOS NO CONSTANTES
#include "stdio.h"
#include "conio.h"
#include "iostream"
using namespace std;                             EN   ESTE   EJEMPLO     LA    FUNCION
void convertir(char *);
                                                 CONVERTIR,    DECLARA     COMO     SU
main()
{                                                ARGUMENTO     UN    APUNTADOR      NO
 system ("cls");                                 CONSTANTE       A      DATOS       NO
 char string[]="caracteres";                     CONSTANES, LLAMADO s (CHAR *S). LA
 cout<<"la cadena antes de la conversion es:n"; FUNCION PROCESA LA CADENA S, SE
 cout<<string;                                   CONVIERTE A SU LETRA EN MAYUSCULA
 convertir(string);
                                                 CORRESPONDIENTE, A a Z, UTILIZANDO UN
 cout<<"nla cadena despues de la conversion es:n";
 cout<<string;                                   CALCULO BASADO EN SU CODIGO ASCII, DE
 system("pause");                                LO CONTRARIO ES PASADO POR ALTO, Y ES
                                         PROCESADO EL SIGUIENTE CARÁCTER EN
return 0;                                LA CADENA. NOTE QUE TODAS LAS ETRAS
}                                        MAYUSCULAS EN EL CONJUNTO DE
                                         CARACTERES ASCII TIENEN VALORES
void convertir(char *s)
{                                        ENTEROS QUE SON EQUIVALENTES EN
while (*s !='0')                        VALORES    ASCII  A   SUS    LETRAS
{                                        CORRESPONDIENTE    EN   MINUSCULAS
 if (*s >='a' && *s<='z')                MENOS 32
 {
  *s -=32;
  ++s;
  }
EJEMPLO DE APUNTADOR NO CONSTANTE A
                 DATOS CONSTANTES
#include "stdio.h"
#include "conio.h"                                  EN     ESTE   EJEMPLO    LA   FUNCION
#include "iostream"                                 IMPRIMIRCARAC,      DECLARA       LOS
using namespace std;                                PARAMETROS DEL TIPO CONST CHAR * . LA
void imprimircarac(const char *);
                                                    DECLARACION SE LEE DE DERECHA A
main()                                              IZQUIERDA DE LA FORMA “S” ES UN
{                                                   APUNTADOR A UNA CONSTANTE DE
 system("cls");                                     CARÁCTER. EL CUERPO DE LA FUNCION
 char string[]="imprimir caracter por caracter la cadena";
                                                    UTILIZA UNA ESTRUCTURA FOR, PARA
 imprimircarac(string);                             EXTRAER     CADA  CARÁCTER    DE   LA
 cout<<("n");
 system("pause");
                                                    CADENA, HASTA QUE SE ENCUENTRE EL
 return 0;                                          CARÁCTER NULL. DESPUES DE HABER
 }                                                  IMPRESO CADA CARÁCTER, EL APUNTADOR
                                                    S ES INCREMENTADO, PARA QUE APUNTE AL
 void imprimircarac(const char *s)                  SIGUIENTE CARÁCTER DENTRO DE LA
 {                                                  CADENA.
for ( ;*s!='0'; s++)
{
 cout<<*s;
 }
}
EJEMPLO DE APUNTADOR CONSTANTE A
                  DATOS NO CONSTANTES
                          EN ESTE EJEMPLO SE INTENTA MODIFICAR
#include "stdio.h"        UN     APUNTADOR       CONSTANTE.    EL
#include "conio.h"        APUNTADOR APUNTA SE DECLARA SER DEL
#include "iostream"       TIPO INT * CONST. LA DECLARACION SE LEE
                          DE DERECHA A IZQUIERDA COMO APUNTA
using namespace std;
                          ES UN APUNTADOR CONSTANTE A UN
main()                    ENTERO. EL APUNTADOR SE INICIALIZA CON
{                         LA DIRECCION DE LA VARIABLE ENTERA X.
    system ("cls");       EL PROGRAMA INTENTA ASIGNAR LA
                          DIRECCION DE Y A APUNTA, PERO SE
int x, y;                 GENERA UN MENSAJE DE ERROR. YA QUE
int * const apunta =&x;   LOS APUNTADORES CONSTANTES A DATOS
apunta = &y;              CONSTANTES. SIEMPRE PUNTA A LA MISMA
                          DIRECCION D MEMORIA, Y LOS DATOS NO
 system("pause");
                          PIEDEN SER MODIFICADOS.
 return 0;
 }
EJEMPLO DE APUNTADOR CONSTANTE A
                 DATOS CONSTANTES
                                EN ESTE EJEMPLO DECLARA A LA VARIABLE
#include "stdio.h"              DE APUNTADOR APUNTA SER DEL TIPO
#include "conio.h"              CONST INT * CONST. ESTA DECLARACION SE
                                LEE DE DERECHA A IZQUIERDA COMO
#include "iostream"             APUNTA ES UN APUNTADOR CONSTANTE A
using namespace std;            UN ENTERO CONSTANTE. GENERA ERROR
main()                          YA QUE LOS APUNTADORES CONSTANTES A
{                               DATOS CONSTANTES. SIEMPRE PUNTA A LA
                                MISMA DIRECCION DE MEMORIA,       LOS
   system ("cls");              DATOS Y DIRECCION NO PIEDEN SER
                                MODIFICADOS.
int x=5, y;
const int * const apunta =&x;
*apunta=7;
apunta = &y;
 system("pause");
 return 0;
 }

Mais conteúdo relacionado

Mais procurados

Mais procurados (19)

If
IfIf
If
 
Clase 6
Clase 6Clase 6
Clase 6
 
41 Php. Bucles For
41 Php. Bucles For41 Php. Bucles For
41 Php. Bucles For
 
Programacion Avanzada JavaScript
Programacion Avanzada JavaScriptProgramacion Avanzada JavaScript
Programacion Avanzada JavaScript
 
6 funciones 2012
6 funciones 20126 funciones 2012
6 funciones 2012
 
6 funciones 2012
6 funciones 20126 funciones 2012
6 funciones 2012
 
Punteros 2012
Punteros 2012Punteros 2012
Punteros 2012
 
PresentacióN 4
PresentacióN 4PresentacióN 4
PresentacióN 4
 
Cuadro sipnotico de los tipos de errores en c++ by plata cabello
Cuadro sipnotico de los tipos de errores en c++ by plata cabelloCuadro sipnotico de los tipos de errores en c++ by plata cabello
Cuadro sipnotico de los tipos de errores en c++ by plata cabello
 
Clase 5 php
Clase 5 phpClase 5 php
Clase 5 php
 
Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
estructura de programación
estructura de programación estructura de programación
estructura de programación
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
Estructuras de Control
Estructuras de ControlEstructuras de Control
Estructuras de Control
 
Implementacion de punteros
Implementacion de punterosImplementacion de punteros
Implementacion de punteros
 
Perl6 expresiones regulares
Perl6 expresiones regularesPerl6 expresiones regulares
Perl6 expresiones regulares
 
Formas indeterminadas
Formas indeterminadasFormas indeterminadas
Formas indeterminadas
 
Curso php-my sql-clase-3
Curso php-my sql-clase-3Curso php-my sql-clase-3
Curso php-my sql-clase-3
 

Semelhante a Apuntes apuntadores 2 a

Semelhante a Apuntes apuntadores 2 a (20)

08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Apuntes apuntadores 1 a
Apuntes apuntadores 1 aApuntes apuntadores 1 a
Apuntes apuntadores 1 a
 
Apunfun1
Apunfun1Apunfun1
Apunfun1
 
13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
 
Comandos importantes en c++
Comandos importantes en c++Comandos importantes en c++
Comandos importantes en c++
 
2.introducción a las aplicaciones en c++
2.introducción a las aplicaciones en c++2.introducción a las aplicaciones en c++
2.introducción a las aplicaciones en c++
 
PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1
 
Tema 1 Parte 1.pdf
Tema 1 Parte 1.pdfTema 1 Parte 1.pdf
Tema 1 Parte 1.pdf
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y Java
 
C++
C++C++
C++
 
Ficheros C++
Ficheros C++Ficheros C++
Ficheros C++
 
Presentación bd
Presentación bdPresentación bd
Presentación bd
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Informe técnico 1
Informe técnico 1Informe técnico 1
Informe técnico 1
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
 

Mais de pabesacv

APUNTES DE ARQUITECTURA DE COMPUTADORAS
APUNTES DE ARQUITECTURA DE COMPUTADORASAPUNTES DE ARQUITECTURA DE COMPUTADORAS
APUNTES DE ARQUITECTURA DE COMPUTADORASpabesacv
 
Apuntes empiezo (c)
Apuntes empiezo (c)Apuntes empiezo (c)
Apuntes empiezo (c)pabesacv
 
Apuntes empiezo (b)
Apuntes empiezo (b)Apuntes empiezo (b)
Apuntes empiezo (b)pabesacv
 
Apuntes empiezo (a)
Apuntes empiezo (a)Apuntes empiezo (a)
Apuntes empiezo (a)pabesacv
 
Apuntes estructuras 1
Apuntes estructuras 1Apuntes estructuras 1
Apuntes estructuras 1pabesacv
 
Apuntes de estructuras nuevo
Apuntes de estructuras nuevoApuntes de estructuras nuevo
Apuntes de estructuras nuevopabesacv
 
Unida ii 9a
Unida ii 9aUnida ii 9a
Unida ii 9apabesacv
 
Unida ii 8a
Unida ii 8aUnida ii 8a
Unida ii 8apabesacv
 
Unida ii 8a
Unida ii 8aUnida ii 8a
Unida ii 8apabesacv
 
Unida ii 7a
Unida ii 7aUnida ii 7a
Unida ii 7apabesacv
 
Unida ii 6a
Unida ii 6aUnida ii 6a
Unida ii 6apabesacv
 
Unida ii 5a
Unida ii 5aUnida ii 5a
Unida ii 5apabesacv
 
Unida ii 4a
Unida ii 4aUnida ii 4a
Unida ii 4apabesacv
 
Post y codigos de error
Post y codigos de errorPost y codigos de error
Post y codigos de errorpabesacv
 
Unida ii 3a
Unida ii 3aUnida ii 3a
Unida ii 3apabesacv
 
Unida ii 2a
Unida ii 2aUnida ii 2a
Unida ii 2apabesacv
 

Mais de pabesacv (20)

APUNTES DE ARQUITECTURA DE COMPUTADORAS
APUNTES DE ARQUITECTURA DE COMPUTADORASAPUNTES DE ARQUITECTURA DE COMPUTADORAS
APUNTES DE ARQUITECTURA DE COMPUTADORAS
 
Apuntes empiezo (c)
Apuntes empiezo (c)Apuntes empiezo (c)
Apuntes empiezo (c)
 
Apuntes empiezo (b)
Apuntes empiezo (b)Apuntes empiezo (b)
Apuntes empiezo (b)
 
Apuntes empiezo (a)
Apuntes empiezo (a)Apuntes empiezo (a)
Apuntes empiezo (a)
 
Apuntes estructuras 1
Apuntes estructuras 1Apuntes estructuras 1
Apuntes estructuras 1
 
Apuntes de estructuras nuevo
Apuntes de estructuras nuevoApuntes de estructuras nuevo
Apuntes de estructuras nuevo
 
Unida ii 9a
Unida ii 9aUnida ii 9a
Unida ii 9a
 
Unida ii 8a
Unida ii 8aUnida ii 8a
Unida ii 8a
 
Unida ii 8a
Unida ii 8aUnida ii 8a
Unida ii 8a
 
Unida ii 7a
Unida ii 7aUnida ii 7a
Unida ii 7a
 
2 unida 4
2 unida 42 unida 4
2 unida 4
 
2 unida 3
2 unida 32 unida 3
2 unida 3
 
2 unida 2
2 unida 22 unida 2
2 unida 2
 
2 unida 1
2 unida 12 unida 1
2 unida 1
 
Unida ii 6a
Unida ii 6aUnida ii 6a
Unida ii 6a
 
Unida ii 5a
Unida ii 5aUnida ii 5a
Unida ii 5a
 
Unida ii 4a
Unida ii 4aUnida ii 4a
Unida ii 4a
 
Post y codigos de error
Post y codigos de errorPost y codigos de error
Post y codigos de error
 
Unida ii 3a
Unida ii 3aUnida ii 3a
Unida ii 3a
 
Unida ii 2a
Unida ii 2aUnida ii 2a
Unida ii 2a
 

Apuntes apuntadores 2 a

  • 1. COMO UTILIZAR CONST CON APUNTADORES O EXISTEN 4 OPCIONES PARA PASAR UN APUNTADORA UNA FUNCION O UN PAUNTADOR NO CONSTANTE A DATOS NO CONSTANTES. O UN APUNTADOR CONSTANTE A DATOS NO CONSTANTES. O UN APUNTADOR NO CONSTANTE A DATOS CONSTTANTES. O UN APUNTADOR CONSTANTE A DATOS COSTANTES.
  • 2. NIVEL DE ACCESO DE DATOS O EL NIVEL MAS ALTO DE ACCESO SE CONSIGUE MEDIANTE UN APUNTADOR NO CONSTANTE A DATOS NO CONSTANTES. EN ESTE CASO, LOS DATOS PUEDEN SER MODIFICADOS A TRAVES DE UN APUNTADOR DESREFERENCIADO, Y EL APUNTADOR PUEDE SER MODIFICADO PARA SEÑALAR A OTROS ELEMENTOS DE DATOS. O UN APUNTADOR NO CONSTANTE A DATOS NO CONSTANTES NO INCLUYE LA FUNCION CONST. TAL APUNTADOR PUDIERA SER UTILIZADO PARA RECIBIR UNA CADENA COMO ARGUMENTOA UNA FUNCION QUE UTILIZA ARITMETICA DE APUNTADOR PARA PROCESAR Y POSIBLEMENTE PARA MODIFICARLA CADA CARÁCTER DENTRO DE LA CADENA. O UN APUNTADOR NO CONSTANTE A DATOS CONSTANTES ES UN APUNTADOR QUE PUEDE SER MODIFICADO PARA APUNTAR A CUALQUIER ELEMENTO DE DATOS DEL TIPO APROPIADO, ERO NO PUEDEN SER MODIFICADOS LOS DATOS HACIA LOS CUALES APUNTA.
  • 3. EJEMPLO DE APUNTADOR NO CONSTANTE A DATOS NO CONSTANTES #include "stdio.h" #include "conio.h" #include "iostream" using namespace std; EN ESTE EJEMPLO LA FUNCION void convertir(char *); CONVERTIR, DECLARA COMO SU main() { ARGUMENTO UN APUNTADOR NO system ("cls"); CONSTANTE A DATOS NO char string[]="caracteres"; CONSTANES, LLAMADO s (CHAR *S). LA cout<<"la cadena antes de la conversion es:n"; FUNCION PROCESA LA CADENA S, SE cout<<string; CONVIERTE A SU LETRA EN MAYUSCULA convertir(string); CORRESPONDIENTE, A a Z, UTILIZANDO UN cout<<"nla cadena despues de la conversion es:n"; cout<<string; CALCULO BASADO EN SU CODIGO ASCII, DE system("pause"); LO CONTRARIO ES PASADO POR ALTO, Y ES PROCESADO EL SIGUIENTE CARÁCTER EN return 0; LA CADENA. NOTE QUE TODAS LAS ETRAS } MAYUSCULAS EN EL CONJUNTO DE CARACTERES ASCII TIENEN VALORES void convertir(char *s) { ENTEROS QUE SON EQUIVALENTES EN while (*s !='0') VALORES ASCII A SUS LETRAS { CORRESPONDIENTE EN MINUSCULAS if (*s >='a' && *s<='z') MENOS 32 { *s -=32; ++s; }
  • 4. EJEMPLO DE APUNTADOR NO CONSTANTE A DATOS CONSTANTES #include "stdio.h" #include "conio.h" EN ESTE EJEMPLO LA FUNCION #include "iostream" IMPRIMIRCARAC, DECLARA LOS using namespace std; PARAMETROS DEL TIPO CONST CHAR * . LA void imprimircarac(const char *); DECLARACION SE LEE DE DERECHA A main() IZQUIERDA DE LA FORMA “S” ES UN { APUNTADOR A UNA CONSTANTE DE system("cls"); CARÁCTER. EL CUERPO DE LA FUNCION char string[]="imprimir caracter por caracter la cadena"; UTILIZA UNA ESTRUCTURA FOR, PARA imprimircarac(string); EXTRAER CADA CARÁCTER DE LA cout<<("n"); system("pause"); CADENA, HASTA QUE SE ENCUENTRE EL return 0; CARÁCTER NULL. DESPUES DE HABER } IMPRESO CADA CARÁCTER, EL APUNTADOR S ES INCREMENTADO, PARA QUE APUNTE AL void imprimircarac(const char *s) SIGUIENTE CARÁCTER DENTRO DE LA { CADENA. for ( ;*s!='0'; s++) { cout<<*s; } }
  • 5. EJEMPLO DE APUNTADOR CONSTANTE A DATOS NO CONSTANTES EN ESTE EJEMPLO SE INTENTA MODIFICAR #include "stdio.h" UN APUNTADOR CONSTANTE. EL #include "conio.h" APUNTADOR APUNTA SE DECLARA SER DEL #include "iostream" TIPO INT * CONST. LA DECLARACION SE LEE DE DERECHA A IZQUIERDA COMO APUNTA using namespace std; ES UN APUNTADOR CONSTANTE A UN main() ENTERO. EL APUNTADOR SE INICIALIZA CON { LA DIRECCION DE LA VARIABLE ENTERA X. system ("cls"); EL PROGRAMA INTENTA ASIGNAR LA DIRECCION DE Y A APUNTA, PERO SE int x, y; GENERA UN MENSAJE DE ERROR. YA QUE int * const apunta =&x; LOS APUNTADORES CONSTANTES A DATOS apunta = &y; CONSTANTES. SIEMPRE PUNTA A LA MISMA DIRECCION D MEMORIA, Y LOS DATOS NO system("pause"); PIEDEN SER MODIFICADOS. return 0; }
  • 6. EJEMPLO DE APUNTADOR CONSTANTE A DATOS CONSTANTES EN ESTE EJEMPLO DECLARA A LA VARIABLE #include "stdio.h" DE APUNTADOR APUNTA SER DEL TIPO #include "conio.h" CONST INT * CONST. ESTA DECLARACION SE LEE DE DERECHA A IZQUIERDA COMO #include "iostream" APUNTA ES UN APUNTADOR CONSTANTE A using namespace std; UN ENTERO CONSTANTE. GENERA ERROR main() YA QUE LOS APUNTADORES CONSTANTES A { DATOS CONSTANTES. SIEMPRE PUNTA A LA MISMA DIRECCION DE MEMORIA, LOS system ("cls"); DATOS Y DIRECCION NO PIEDEN SER MODIFICADOS. int x=5, y; const int * const apunta =&x; *apunta=7; apunta = &y; system("pause"); return 0; }