Un apuntador es una variable que solamente almacena direcciones de memoria, se llama apuntador, pointer o puntero, por que a traves de esa variable, se puede llegar a otra variable, para que se pueda definir un apuntador, debe ser del mismo tipo a la variable que va a apuntar, por ejemplo
int clave, y quiero declarar un apuntador que apunte a esta variable se declara con el mismo tipo
int *ptr.
Cuando se declara una variable, se le dice al compilador a traves del sistema operativo que resrve un espacio de memoria y le asigne un nombre.
.
miércoles, 25 de septiembre de 2013
lunes, 23 de septiembre de 2013
Resolucion de Examen
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
void main(void)
{
int temo=0, 1, num[6];
int *ptr;
for (i=0; i <= 5; i++)
{temp = temp +5-i;
num[i] = temp;}
ptr = &num[0];
for (i = 0; i <= 5; i++)
{printf("\n %d, %p", num[i], ptr);
ptr++;}
ptr = &num[0];
}
Diagramas en el cuaderno e.e
Estatus de la evaluacion, ir pensando en recursar o en el extra
#include <iostream.h>
#include <conio.h>
void main(void)
{
int temo=0, 1, num[6];
int *ptr;
for (i=0; i <= 5; i++)
{temp = temp +5-i;
num[i] = temp;}
ptr = &num[0];
for (i = 0; i <= 5; i++)
{printf("\n %d, %p", num[i], ptr);
ptr++;}
ptr = &num[0];
}
Diagramas en el cuaderno e.e
Estatus de la evaluacion, ir pensando en recursar o en el extra
lunes, 9 de septiembre de 2013
Programa de Lista
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <ctype.h>
#include <stdlib.h>
struct lista {
int clave;
char descrip[25];
struct lista *sigptr; };
typedef struct lista LISTA;
typedef LISTA *LSTPTR;
void enlista(LSTPTR *iniptr, LSTPTR *finptr, int cla, char descr[25])
{ LSTPTR nvoptr, actptr, otroptr;
nvoptr = (LSTPTR) malloc(sizeof(LISTA));
if (nvoptr != NULL)
{nvoptr->clave = cla;
strcpy(nvoptr->descrip, descr);
nvoptr->sigptr = NULL;
if (*iniptr == NULL)
{*iniptr = nvoptr;
*finptr = nvoptr;
}
else
{actptr = *iniptr;
if (cla < (*iniptr)->clave)
{nvoptr->sigptr = *iniptr;
*iniptr = nvoptr;
}
else
if (cla > (*finptr)->clave)
{(*finptr)->sigptr = nvoptr;
*finptr = nvoptr;
}
else
{otroptr = actptr->sigptr;
while (cla > otroptr->clave)
{actptr= actptr->sigptr;
otroptr= actptr->sigptr;
}
actptr->sigptr = nvoptr;
nvoptr->sigptr = otroptr;
}
}
}
else
printf("%d no fue insertado. No hay memoria disponible\n\n", cla);
}
void menu(void)
{ system("cls");
printf("\n\n\n\n"
" OPERACIONES DISPONIBLES EN LA LISTA ORDENADA: \n\n\n\n"
" 1 AGREGAR UN ELEMENTO A LA LISTA\n"
" 2 IMPRIMIR LA LISTA\n"
" 3 EXTRAER UN ELEMENTO DE LA LISTA\n"
" 4 SALIR DEL PROGRAMA\n");
}
main()
{ LSTPTR iniptr = NULL, finptr = NULL;
char opcion, descri[25];
int clav;
menu();
printf("\n Elige opcion: ");
scanf("%c", &opcion);
while (opcion != '4')
{ switch(opcion)
{ case '1': printf("\n Clave del articulo (entero): ");
scanf("%d", &clav);
fflush(stdin);
printf("\n Descripcion del articulo : ");
gets(descri);
enlista(&iniptr, &finptr, clav, descri) ;
break;
default : printf("\n\n Opcion no valida.....");
printf("\n\n Enter para continuar...");
getch();
break;
}
menu();
fflush(stdin);
printf("\n Elige opcion: ");
scanf("%c", &opcion);
}
printf("\n Fin del programa.\n\n");
printf(" Enter para terminar...");
getch();
}
Suscribirse a:
Entradas (Atom)