Está en la página 1de 23

REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICA DE LA FAN CARRERA:

ANALISIS Y DISEO DE SISTEMAS_ II-01 ASIGNATURA: LENGUAJE DE PROGRAMACIN UNEFA EXTENSIN BOLIVAR

PROFESOR (A): DENIS ACOSTA

BACHILLER: ASTUDILLO YDSAMAR 25.963.270

CIUDAD BOLIVAR, 27 DE OCTUBRE DEL 2012.

Lenguaje de Programacin

UNIDAD 1:

INTRODUCCIN

En los temas siguientes, se describen definiciones y funciones acerca de Arreglos, Cadenas de caracteres y Apuntadores. Se dice de arreglo a una funcin parcial de los enteros en cualquiera de los tipos bsicos ya vistos (entero, real, carcter, booleano) o el mismo tipo arreglo, y cuyo dominio es un segmento [p...q), para p, q dados. Hablamos de cadenas de caracteres como un conjunto de caracteres incluido el espacio en blanco, que se almacena en un rea contigua de la memoria central. En general, una cadena de caracteres es una sucesin de caracteres (letras, nmeros u otros signos o smbolos). Estas cadenas se dividen en 3 etapas o dimensiones: Estticas; Su longitud se define antes de ejecutar el programa y no puede cambiarse a lo largo de este. Las Semiestticas; Su longitud puede variar durante la ejecucin del

programa, pero sin sobrepasar un lmite mximo declarado al principio; y las Dinmicas. Su longitud puede variar sin limitacin dentro del programa. Para describir un apuntador es necesario e importante conocer una variable ya que un apuntador es tipo especial de variable que en lugar de contener un valor o dato, contiene una direccin de memoria. As como los datos pueden modificarse cuando se trabaja con una variable normal, el valor de la direccin almacenada en un apuntador tambin puede modificarse. Usualmente, la direccin almacenada en el apuntador es la direccin correspondiente a alguna otra variable del programa.

1.1 ARREGLOS.

Un arreglo puede definirse como un grupo o una coleccin finita, homognea y ordenada de elementos. La mayora de los lenguajes de programacin (JAVA, C, PASCAL, etc.) Poseen el tipo arreglo. Como veremos, los arreglos permiten Implementar, representar y manipular de una manera muy conveniente al tipo abstracto de dato secuencial, en particular permite implementar de manera sencilla los cambios de valores que pueda tener una variable tipo secuencia.

Un arreglo es una funcin parcial de los enteros en cualquiera de los tipos bsicos ya vistos (entero, real, carcter, booleano) o el mismo tipo de arreglo, y cuyo dominio es un segmento [p...q), para p, q dados.

Note que si p=0 entonces el arreglo no es ms que una secuencia. Por lo que usaremos la misma notacin de secuencias para denotar la aplicacin de la funcin en un elemento del segmento, por ejemplo si b es un arreglo con dominio [0...3) entonces b es una secuencia de tres elementos y b [2] representa la imagen de 2 segn b, es decir, el ltimo elemento de la secuencia. Decimos que b [0] es el primer elemento del arreglo b, b [1] es el segundo elemento del arreglo b, etc. Un arreglo con dominio [p...p) diremos que es un arreglo sin elementos, es vaco.

Manipulacin de arreglos. He aqu presentamos cmo razonar sobre modificarlos. arreglos en programas que puedan

Dado un arreglo b, es decir, una funcin con dominio un segmento [p...q), es posible en el pseudolenguaje modificar el valor de la variable b[i], para un i dado, mediante una asignacin. As, b[i]:=e es una instruccin vlida del pseudolenguaje, donde i es una expresin cuyo valor debe estar en el segmento [p...q), y (e) es una expresin con igual tipo

que los elementos del arreglo b. La interpretacin operacional es reemplazar el valor de la variable b[i] por el valor resultante de evaluar e. Veremos que esta asignacin se diferencia de la asignacin ordinaria, en el hecho de que esta afecta a la funcin b y no slo a la variable b[i], y si no estamos conscientes de esto podemos llegar a conclusiones incorrectas. Veamos un ejemplo:

Suponga que b [0] = 1 y b [1] = 1. Entonces, b [b [1]] = b [1] = 1 y la instruccin b [b [1]]:= 0 es equivalente a b [1]:= 0 y despus de esta asignacin tendremos b [b [1]] = b [0] = 1. Parece paradjico que habiendo asignado 0 a b [b [1]] al final contenga 1; sin embargo, veremos que esto se debe a que estamos afectando el valor de una funcin completa, y no slo el valor de una variable simple. Concluimos entonces que se cumple: { b[0] = 1 b[1] = 1 } b [b[1]] := 0 { b[b[1]] = 1 }

Vemos la diferencia con la asignacin a una variable x, donde se cumple:

{Verdad} x:= 0 {x = 0}

Para expresar el cambio de valor de un arreglo (por lo tanto, de una funcin) introducimos la siguiente notacin:

Sea b un arreglo, i una expresin cuyo valor est en el dominio de b, y (e) una expresin del tipo de los elementos del arreglo. Entonces b (i: e) denotar el arreglo (la funcin) que es igual a b salvo que la imagen de i es e:

B (i: e) [j] =

b [j] si i j

e si i = j

Por ejemplo, si b=<2, 4, 6> con dominio [0...3) entonces:

- b (0:8) [0] = 8 (es decir, la funcin b (0:8) aplicada a 0 da 8) - b (0:8) [1] = b [1] = 4 (es decir, la funcin b (0:8) aplicada a 1 da 4) - b (0:8) [2] = b [2] = 6 (es decir, la funcin b (0:8) aplicada a 2 da 6) - b (1:8) = <2, 8, 6> - (((b (0:8)) (2:9)) = <8, 4, 9> - (((b (0:8)) (0:9)) = <9, 4, 6>, para simplificar parntesis colocaremos b (0:8) (0:9).

Ser necesario saber simplificar expresiones con la nueva notacin. Por ejemplo, queremos simplificar b (i: 5) [j] = 5, es decir, tratar de encontrar un predicado equivalente pero en trminos de b solamente. Podemos seguir el siguiente razonamiento: un j dado cumple con j=i j=i. Para j=i tenemos que b (i: 5) [j] = 5 se reduce a b (i: 5) [i] = 5 y esto a 5=5; para j=i, se reduce a b[j]=5. As:

b (i: 5) [j] = 5 por tercero excluido y neutro de (i=j i j) b (i: 5) [j] = 5 distributividad de sobre (i=j b (i: 5) [j] = 5) (i j b (i: 5) [j] = 5) Por definicin de b (i: 5) (i=j 5=5) (i j b[j] = 5) 5=5 es verdad y simplificacin del (i=j) (i j b[j] = 5) distributividad de respecto a (i=j i j) (i=j b[j] = 5) ley del tercero excluido V (i=j b[j] = 5) simplificacin del i=j b[j] = 5

1.2 CADENAS DE CARACTERES. Una cadena es un conjunto de caracteres incluido el espacio en blanco, que se almacena en un rea contigua de la memoria central. En programacin, una cadena de caracteres, palabra, ristra de caracteres o frase (string en ingls) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto anlogas a una frase o a una oracin. En general, una cadena de caracteres es una sucesin de caracteres (letras, nmeros u otros signos o smbolos). Desde un punto de vista de la programacin, si no se ponen restricciones al alfabeto, una cadena podr estar formada por cualquier combinacin finita de todo el juego de caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los nmeros del '0' al '9', el espacio en blanco ' ', smbolos diversos '!', '@', '%', etc.). En este mismo mbito (el de la programacin), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesin de caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array en ingls). Las cadenas se pueden almacenar fsicamente:

Seguidas. Enlazadas letras a letra.

Generalmente son guardados un carcter a continuacin de otro por una cuestin de eficiencia de acceso. Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la llama cadena vaca; en teora de autmatas es comn denotar a la misma por medio de la letra griega . Representacin de cadenas. Una cadena suele ser representada entre comillas dobles superiores ("palabra"), mientras que un carcter de esa cadena (un char en ingls) suele ser representado entre comillas simples ('p'). Por ejemplo, en C:

Char c = 'a'; Char str [5] = "hola";

Generalmente para acceder a un carcter en una posicin determinada se suele usar la forma variable [posicin] como cuando se accede a un vector. Para poder mostrar una comilla (") dentro de la cadena y no tener problemas con las comillas que la delimitan, se usan secuencias de escape. Esto se aplica a otros caracteres reservados o no imprimibles como el retorno de carro. No obstante, las expresiones para producir estas secuencias de escape dependen del lenguaje de programacin que se est usando. Una forma comn, en muchos lenguajes, de escapar un carcter es ante ponindole un \ (sin comillas), p. e.: \" (sin comillas). *Longitud de una cadena. La longitud de cadenas, el nmero de caracteres que contiene. *Clculo de la longitud de una cadena. Es dar el nmero de caracteres que hay en una cadena que est entre comillas, incluyendo los espacios en blanco. *Una cadena vaca. Es la que no tiene ningn carcter. *Una constante de tipo cadena. Es un conjunto de caracteres vlidos encerrados entre comillas. *Una variable de cadena. Es aquella cuyo contenido es una cadena de caracteres. El ltimo carcter de la cadena marca el fin de la cadena. *Comparacin de cadenas. Es comparar caracteres o cadenas de caracteres para ver si son iguales o no. Las variables de cadena se dividen en:

Estticas. Su longitud se define antes de ejecutar el programa y no puede cambiarse a lo largo de este. Semiestticas. Su longitud puede variar durante la ejecucin del programa, pero sin sobrepasar un lmite mximo declarado al principio. Dinmicas. Su longitud puede variar sin limitacin dentro del programa.

Operaciones bsicas con cadenas: _ Asignacin. Nombre "Luis Humberto" _ Entrada/ Salida. Leer (nombre, estado civil) Escribir (nombre, apellido) Escribir (nombre, apellido) Segn el cdigo ASCII hay un orden de caracteres, as "A" es menor que "C". El valor de A es 65 y el de C es 67. Concatenacin: Es unir varias cadenas de caracteres en una sola, conservando el orden de los caracteres de cada una de ellas. Cuando se combinan dos cadenas con el operador de concatenacin, la segunda cadena se agregar directamente al final de la primera. En cdigos postales y nmeros telefnicos se suele usar caracteres ya que no se necesita operar los nmeros y as podemos usar el guin. Strtelefono = "1-515-555-1212" Extraccin de subcadenas: La subcadena es una porcin de una cadena. Para extraer una subcadena se deben tener:

_La cadena fuente de la cual se va a extraer la subcadena.( Pos que es un nmero que indica la posicin inicial de la subcadena, Long que indica el tamao que tendr la subcadena). Bsqueda de informacin: Consiste en buscar una subcadena o cadena dentro de otra mayor. Nos devuelve el nmero de la posicin donde inicia la cadena buscada, cero si no la encuentra. Dicho nmero se puede asignar a una variable entera (numrica). Encontrar el punto medio Truncar cadenas Convertir cadenas a nmeros o viceversa Insertar una cadena dentro de otra Borrar cadenas Sustituir una cadena por otra. Invertir el orden de una cadena.

Ejemplo. El siguiente algoritmo sustituye las e por *. Inicio Escribir ("escriba una palabra") Leer (str) Desde i=1 hasta len (str) hacer Si str[i] = `e entonces Str[i] = `* Fin_si

Fin _desde Escribir (str) Fin Operaciones con cadenas de caracteres. Siguiendo en el mbito de la informtica, al considerar las cadenas como un tipo de datos, hay que definir (o conocer) cuales son las operaciones que podemos hacer con ellas, en principio stas podran ser muchas y llegar a ser muy sofisticadas, aqu se exponen algunas de ellas:

Asignacin: Consiste en asignarle una cadena a otra. Concatenacin: Consiste en unir dos cadenas o ms (o una cadena con un carcter) para formar una cadena de mayor tamao.

Bsqueda: Consiste en localizar dentro de una cadena una subcadena ms pequea o un carcter.

Extraccin: Se trata de sacar fuera de una cadena una porcin de la misma segn su posicin dentro de ella.

Comparacin: Se utiliza para comparar dos cadenas.

(Operaciones con cadenas en el lenguaje C) Cadenas Dinmicas y Estticas. Las cadenas pueden ser de naturaleza dinmica (pueden alterar su longitud durante el tiempo de ejecucin), o de naturaleza esttica (su longitud es fija a lo largo del tiempo de ejecucin). En este segundo caso el programador debe prever que al recorrer la cadena los ndices no se vayan de los lmites previstos (C no permite que las cadenas crezcan automticamente de forma explcita, mientras que C# s). El final de la cadena se delimita de diferente manera en uno u otro caso:

Mediante un carcter de fin de cadena ("\0" en C) para las cadenas de tipo dinmico.

Mediante una propiedad de la cadena que delimite su longitud (Length en C#) para las de tipo esttico.

Manejo de cadenas <string.h>. Recordando la presentacin de arreglos hecha (captulo 5) en donde las cadenas estn definidas como un arreglo de caracteres o un apuntador a una porcin de memoria conteniendo caracteres ASCII. Una cadena en C es una secuencia de cero o ms caracteres seguidas por un carcter NULL o \0:

Representacin de un arreglo.

Es importante preservar el carcter de terminacin NULL, ya que con ste es como C define y maneja las longitudes de las cadenas. Todas las funciones de la biblioteca estndar de C lo requieren para una operacin satisfactoria. En general, aparte de algunas funciones restringidas en longitud (strncat (), strncmp

() y strncpy ()), al menos que se creen cadenas a mano, no se debern encontrar problemas. Se debern usar las funciones para manejo de cadenas y no tratar de manipular las cadenas en forma manual desmantelando y ensamblando cadenas.

Funciones bsicas para el manejo de cadenas. Todas las funciones para manejo de cadenas tienen su prototipo en: #include <string.h>

Las funciones ms comunes son descritas a continuacin:

char *strcpy (const char * dest, const char * orig) -- Copia la cadena de caracteres apuntada por orig (incluyendo el carcter terminador '\0') al vector apuntado por dest. Las cadenas no deben solaparse, y la de destino, debe ser suficientemente grande como para alojar la copia.

int strcmp (const char *s1, const char *s2) -- Compara las dos cadenas de caracteres s1 ys2. Devuelve un entero menor, igual o mayor que cero si se encuentra que s1 es, respectivamente, menor que, igual a, o mayor que s2.

char *strerror (int errnum) -- Devuelve un mensaje de error que corresponde a un nmero de error.

int strlen (const char *s) -- Calcula la longitud de la cadena de caracteres. Char *strncat (char *s1, const char *s2, size_t n) -- Agrega n caracteres de s2 a s1. int strncmp (const char *s1, char *s2, size_t n) -Compara los

primeros n caracteres de dos cadenas.

char *strncpy (const char *s1, const char *s2, size_t n) -- Copia los primeros n caracteres de s2 a s1.

Strcasecmp (const char *s1, const char *s2) -- versin que ignora si son maysculas o minsculas de strcmp ().

Strncasecmp (const char *s1, const char *s2, size_t n) -- versin insensible a maysculas o minsculas de strncmp () que compara los primeros n caracteres de s1.

El uso de muchas funciones es directo, por ejemplo: Char *s1 = "Hola"; Char *s2; Int longitud;

Longitud = strlen ("Hola"); /* long = 4 */ (Void) strcpy (s2, s1);

Observar que tanto strcat () y strcopy () regresan una copia de su primer argumento, el cual es el arreglo destino. Observar tambin que orden de los argumentos es arreglo destino seguido por arreglo fuente lo cual a veces es una situacin para hacerlo incorrectamente. La funcin strcmp () compara lexicogrficamente las dos cadenas y regresa:

Menor que cero -- si s1 es lxicamente menor que s2; Cero -- si s1 y s2 son lxicamente iguales; Mayor que cero -- si s1 es lxicamente mayor que s2;

Las funciones de copiado strncat (), strncmp () y strncpy () son versiones ms restringidas que sus contrapartes ms generales. Realizan una tarea similar, pero solamente para los primeros n caracteres. Observar que el carcter de terminacin NULL podra ser violado cuando se usa estas funciones, por ejemplo: Char *s1 = "Hola"; Char *s2 = 2; Int longitud = 2;

(Void) strncpy (s2, s1, longitud); /* s2 = "Ho" */ Donde s2 no tiene el terminador NULL. 1.3 APUNTADORES. Introduccin. Los apuntadores son una parte fundamental de C. Si usted no puede usar los apuntadores apropiadamente entonces est perdiendo la potencia y la flexibilidad que C ofrece bsicamente. El secreto para C esta en el uso de apuntadores. C, usa los apuntadores en forma extensiva. Por qu?

Es la nica forma de expresar algunos clculos. Se genera cdigo compacto y eficiente. Es una herramienta muy poderosa. C, usa apuntadores explcitamente con:

Es la nica forma de expresar algunos clculos. Se genera cdigo compacto y eficiente. Es una herramienta muy poderosa. C, usa apuntadores explcitamente con:

Arreglos, Estructuras y Funciones El uso de apuntadores en C y C++ es muy importante debido a que permite hacer los programas ms eficientes y ms flexibles. En este artculo se explica de una manera sencilla y breve todo lo referente a la utilizacin de apuntadores tanto en C como en C++. Todo lo explicado en este artculo aplica tanto para C como para C++, a menos que se especifique un lenguaje en particular. En algunos ejemplos de cdigo que son aplicables a C aparecen instrucciones de entrada y salida de las libreras estndar de C++. Los apuntadores: Los Apuntadores son variables que almacenan direcciones de memoria. Caractersticas.

Los apuntadores son variables que almacenan direcciones de memoria. En general una variable contiene un valor especfico dependiendo de cmo fue declarada. Un apuntador contiene la direccin de una variable que contiene un valor especfico.

Una variable se refiere directamente a un valor y un apuntador se refiere indirectamente a un valor.

Apuntadores usados en C debido a que a veces son la nica manera de expresar un clculo.

Se puede llegar a obtener un cdigo ms compacto y eficiente. Cuando se emplean sin cuidado pueden crear programas imposibles de entender. Cuentan con una declaracin propia. Los apuntadores disponen de dos operadores: El operador unario o mondico & devuelve la direccin de memoria de una variable; El operador de indireccin o des referencia * devuelve el ``contenido de un objeto apuntado por un apuntador''.

Son variables que mantienen direcciones de memoria. Poderosos para manejar datos, de manera no posible en otros lenguajes. Permiten el pasaje de parmetros por referencia. Cuando se utilizan de manera incorrecta, son una fuente de bugs en los programas y frustracin en el programador. Declaracin De Apuntadores: Cuando se declara una variable, el compilador reserva un espacio de memoria para ella y asocia el nombre de sta a la direccin de memoria desde donde comienzan los datos de esa variable. Las direcciones de memoria se suelen describir como nmeros en hexadecimal. Un apuntador es una variable cuyo valor es la direccin de memoria de otra variable. Se dice que un apuntador apunta a la variable cuyo valor se almacena a partir de la direccin de memoria que contiene el apuntador. Por ejemplo, si un apuntador p almacena la direccin de una variable x, se dice que p apunta a x.

Los apuntadores como cualquier otra variable deben de ser declarados antes de que puedan ser utilizados.

El tipo de un apuntador lo proporciona implcitamente el tipo de la variable a la que apunta.

Los apuntadores pueden ser declarados para apuntar a objetos de cualquier clase. La sintaxis general de declaracin es: <Tipo> * <variable>

Ejemplos de declaraciones: La variable contPtr es del tipo apuntador a entero, (int *) y se lee ``contPtr es un apuntador a int'' o ``contPtr apunta a una variable entera''. Apuntadores y Funciones. Cuando C pasa argumentos a funciones, la pasa por valor, es decir, si el parmetro es modificado dentro de la funcin, una vez que termina la funcin el valor pasado de la variable permanece inalterado. Hay muchos casos que se quiere alterar el argumento pasado a la funcin y recibir el nuevo valor una vez que la funcin ha terminado. Para hacer lo anterior se debe usar una llamada por referencia, en C se puede simular pasando un puntero al argumento. Con esto se provoca que la computadora pase la direccin del argumento a la funcin. Para entender mejor lo anterior consideremos la funcin swap () que intercambia el valor de dos argumentos enteros: Void swap (int *px, int *py); Main () { Int x, y; x = 10; y = 20; Printf ("x=%d\ty=%d\n", x, y);

Swap (&x, &y); Printf ("x=%d\ty=%d\n", x, y); } Void swap (int *px, int *py) { Int temp; Temp = *px; /* guarda el valor de la direccin x */ *px = *py; /* pone y en x */ *py = temp; /* pone x en y */ Aritmtica de Apuntadores. Parte del poder de los apuntadores proviene de la habilidad de hacer aritmtica en los apuntadores mismos. Los apuntadores pueden ser incrementados, decrementados y manipulados utilizando expresiones aritmticas. Consideremos el apuntador "pt3" y el arreglo de float "values" declarados en el programa principal mostrado anteriormente: pt3 = &values[0]; /* The address of the first element of "values" is stored in pt3*/ pt3++; /* pt3 now contains the address of the second element of values */ *pt3 = 3.1415927; /* The second element of values now has pie (actually pi)*/ pt3 += 25; /* pt3 now points to the 27th element of values */ *pt3 = 2.22222; / The 27th element of values is now 2.22222 */

pt3 = values; /*pt3 points to the start of values, now */

for (ii = 0; ii < 100; ii++) { *pt3++ = 37.0; } /* This sets the entire array to 37.0 */

pt3 = &values[0]; /* pt3 contains the address of the first element of values */ pt4 = &results[0]; /* pt4 contains the address of the first element of results */

for (ii=0; ii < 100; ii++) { *pt4 = *pt3; /* The contents of the address contained in pt3 are assigned to the contents of the address contained in pt4 */ pt4++; pt3++; }

Pasaje de Parmetros. *Por valor: Los valores que se pasan se copian a los parmetros de la funcin, si el valor de un parmetro se modifica dentro de la funcin, no se altera su valor en el programa que lo llama.

*Por Referencia: Permiten modificar dentro de la funcin el valor actual de la variable que fue pasada como parmetro. Es decir, el valor de la variable si se altera en el programa que llama. Podemos distinguir entre parmetros formales y parmetros reales. *Parmetros Formales: Aquellos que van en la definicin de la funcin o un prototipo. Son como variables locales a la funcin que sirven de comunicacin con el exterior. *Parmetros Reales: Se colocan en la invocacin de la funcin, pueden ser expresiones o variables del mismo tipo del parmetro formal correspondiente. Deben colocarse en la misma posicin del parmetro formal correspondiente, respetando el nmero tipo y posicin de los parmetros formales. Ejemplo funcin Swap: Void Swap (int x, int y) { Int temp; temp = x; x = y; y = temp; } Con la invocacin, Swap(a, b)? no tendra ningn efecto, pues los parmetros se han pasado por valor. Es decir, no se afectan los valores de a y b. Debe hacerse pasando los parmetros por referencia Void Swap (int *apx, int *apy) {

Int temp; temp = *apx; *apx = *apy; *apyy = temp; } Main () { Int a = 20, b = 100; Swap (&a, &b); // Los valores de a y b se intercambian, a = 100, b = 20 }

CONCLUSION

Tema principal del objetivo como base fundamental se denomino algoritmos, programacin y tratamientos de datos, donde hablbamos sobre los (Arrays) arreglos; estos se definen en 3 tipos: Arreglos unidimensionales: se dice de este a un tipo de datos estructurado que est formado de una coleccin finita y ordenada de datos del mismo tipo.(es de una dimensin). A los bidimensionales se les denomina a un tipo de dato estructurado, finito, ordenado y homogneo. (Y es de dos dimensiones), y los multidimensionales son tambin un tipo de dato estructurado, que est compuesto de tres o ms dimensiones. Por otro lado una cadena de carcter podra estar formada por cualquier combinacin finita de todo el juego de caracteres disponibles (desde las letras de la A hasta la Z) los nmeros (del 0 al 9) y los smbolos diversos (@, %, etc.). Las cadenas se pueden almacenar fsicamente: Seguidas y Enlazados letra a letra. Existe una estrecha relacin entre apuntadores y arreglos, tanto que pueden ser usados en forma casi indistinta. En C, un nombre de un arreglo es un ndice a la direccin de comienzo del arreglo. En esencia, el nombre de un arreglo es un puntero al arreglo. Una variable de tipo arreglo puede considerarse como un apuntadora tipo del arreglo.

BIBLOGRAFIA

http://ldc.usb.ve/~meza/ci-2615/cap6.pdf http://fismat.umich.mx/mn1/manual/node18.html http://webdia.cem.itesm.mx/ac/rogomez/Tutorial-LengC/apuntadores.html http://www.ldc.usb.ve/~gabro/teaching/CI2126/Clase1_Apuntadores.htm http://www.itq.edu.mx/vidatec/maestros/sis/mlopez/Tutorial/apunt.htm http://garota.fismat.umich.mx/mn1/manual/node9.html

También podría gustarte