La bacterias

Solo disponible en BuenasTareas
  • Páginas : 10 (2407 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de marzo de 2011
Leer documento completo
Vista previa del texto
-------------------------------------------------

INTRODUCCION
Si uno quiere ser eficiente escribiendo código en el lenguaje de programación C, se debe tener un
profundo y activo conocimiento del uso de los apuntadores. Desafortunadamente, los apuntadores en C
parecen representar una piedra en el camino de los principiantes, particularmente de aquellos que vienen de
otros lenguajes deprogramación como Fortran, Pascal o Basic.
Es para ayudar a estos principiantes en el uso de apuntadores que he escrito el siguiente material.
Para obtener el máximo beneficio del mismo, siento que es necesario que el usuario sea capaz de ejecutar el
código fuente que se incluye en los artículos. Debido a esto he intentado mantener todo el código dentro de las
especificaciones del ANSI1 para queeste pueda trabajar en cualquier compilador compatible con ANSI. He
tratado de dar formato al código dentro del texto de tal manera que con la ayuda de un editor de texto ASCII
uno pueda copiar el bloque de código que interesa a un archivo nuevo y compilarlo en su sistema. Recomiendo
a los lectores el hacerlo porque esto es de gran ayuda para la comprensión del material.-------------------------------------------------
1ANSI: American
-------------------------------------------------

-------------------------------------------------

-------------------------------------------------

-------------------------------------------------

-------------------------------------------------

--------------------------------------------------------------------------------------------------

-------------------------------------------------

-------------------------------------------------
Puntero (informática)
Un puntero o apuntador es una variable que referencia una región de memoria; en otras palabras es una variable cuyo valor es unadirección de memoria. Si se tiene una variable ' p ' de tipo puntero que contiene una dirección de memoria en la que se encuentraalmacenado un valor ' v ' se dice que ' p ' apunta a ' v '. El programador utilizará punteros para guardar datos en memoria en muchas ocasiones, de la forma que se describe a continuación.
Declaracion de un puntero
Un puntero, en C, se declara como sigue:

TIPO * nombre_puntero ;
Donde TIPO es cualquier tipo definido. Asi, un puntero a caracter se declararia de la siguiente forma:char *pchar;
Inicializacion de un puntero
Hay varias maneras de inicializar un puntero. Una ya ha sido vista en los ejemplos del punto anterior ( pchar = &a; ); y al igual que el resto, consiste basicamente en lo mismo; asignar una direccion de memoria al puntero. Para hacer un paralelismo Modula-2 - C, en C existe el equivalente al procedimiento NEW; la funcion malloc:
#include<stdio.h>
#include <malloc.h>

void *malloc( size_t size );
donde 'size' es el numero de bytes que queremos reservar de tipo 'void', es decir, de cualquier tipo.

char *pchar;
int *pint;

pchar = malloc (6); /* pchar apunta al primer byte de los que se han
reservado */
pint = malloc (sizeof(int)*2);/* pint apunta al primero de los dos enteros
que se han reservado */
Otra forma es inicializarlo con el valor de otro puntero.

.
.
.
int *pint2;

pint2 = pint;
6.2 Asignación de punteros.
Respecto a la comparación y a la asignación, los punteros se ajustan
a las mismas reglas que cualquier otra variable en C:
•Un puntero puede utilizarse a la derecha de una declaración de
asignación para asignar su valor a otro puntero.
• Podemos comparar dos punteros en una expresión relacional.
#include <stdio.h>
main() {
int i=100, *p1, *p2;
p1 = &i;
p2 = p1;
if (p1==p2) /* estamos comparando dos punteros */
printf(“p1 apunta a la misma dirección de memoria que p2”);
*p1 = *p1 + 2; /* El *...
tracking img