#include <iostream.h>
#include <conio.h>
void main()
{
int automatica ; // Se declara la variable automatica.
int *apunt ; // Se declara el apuntador apunt, que apun-
// tará a objetos de tipo int.
automatica = 100 ; // Se asigna el valor 100 a la variable
// automatica.
apunt = &automatica ; // Se asigna a apunt la dirección de
// automatica ó apunt apunta a
// automatica.
clrscr();
cout << "VALOR=" << automatica << " \n"; // 100 *apunt="200" ; // Se asigna el valor 200 al objeto apunta- // do por apunt. cout << "VALOR=" << automatica << " \n"; // 200 getch(); }
INSTRUCCION REPRESENTACION GRAFICA
int automatica ; automatica
|----------------|
| ? |
|----------------|
int *apunt ; ----> ?
automatica = 100 ; automatica
|----------------|
| 100 |
|----------------|
apunt = &automatica ; automatica, *apunt
|----------------|
apunt ---->| 100 |
|----------------|
*apunt = 200 ; automatica, *apunt
|----------------|
apunt ---->| 200 |
|----------------|

void *multiusos ;
#include <iostream.h>
#include <conio.h>
#define NL cout << "\n" void main() { int varent="0" ; float varflot="0.0" ; void *apmulti="&varent;" // apmulti APUNTA A varent *(int *)apmulti="2" ; // ASIGNA 2 AL OBJETO NL; // APUNTADO POR apmulti cout << varent ; apmulti="&varflot" ; // apmulti APUNTA A varflot *(float *)apmulti="1.1" ; // ASIGNA 1.1 AL OBJETO APUNTADO // POR apvoid NL; cout << varflot ; NL; getch(); }
*(int *)apmulti = 2 ;
en donde:
apmulti es un apuntador de tipo void.
(int *)apmulti está forzando a que apmulti apunte a objetos
de tipo int.
*(int *)apmulti se refiere a un objeto de tipo entero apuntado
por apmulti.
#include <iostream.h>
#include <conio.h>
void main()
{
int far *aplej ; // Declara un apuntador far a enteros
char c ;
int ren, col ;
clrscr();
cout << "Teclee caracteres ( < Enter >="Salida" ) : " ; aplej="(int" far *) 0xB8000000 ; while(( c="getche())" !="\r" ) for( ren="0" ; ren < 25 ; ren ++ ) for( col="0" ; col < 80 ; col++ ) *(aplej + ren*80 + col )="c" | 0x0700 ; clrscr(); }
int far *aplej ;
tipo far *identif ;
En la linea:
aplej = (int far *) 0xB8000000 ;
la parte
(int far *) representa un forzamiento de tipo para que la
constante hexadecimal sea manejada por un
apuntador lejano.
0xB8000000 representa la direccón de memoria reservada para
uso exclusivo en los modos de video CGA y EGA.
*(aplej + ren*80 + col ) = c | 0x0700 ;
la parte:
aplej + ren*80 + col calcula la dirección de memoria
correspondiente a cada caracter.
*(aplej + ren*col +80 ) representa al objeto apuntado
(un caracter).
mientras que:
c | 0x0700
| Página siguiente |