ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

El estudio de las cadenas

anymz931712Informe1 de Abril de 2014

359 Palabras (2 Páginas)247 Visitas

Página 1 de 2

#include <stdio.h>

int mi_arreglo[] = {1,23,17,4,

-

5,100};

int *ptr;

int main(void)

{

int i;

ptr = &mi_arreglo[0]; /* apuntamos nuestro puntero

al primer elemento del arreglo*/

printf("

\

n

\

n");

for (i = 0; i < 6; i++)

{

printf("mi_arreglo[%d] = %d ",

i,

mi_arreglo[i]); /*<

--

A */

printf("ptr + %d = %d

\

El estudio de las cadenas es útil para profundizar en la relación entre apuntadores y arreglos. Facilita,

además la demost

ración de cómo algunas de las funciones estándar de cadenas de C pueden ser

implementadas. Finalmente ilustraremos cómo y cuando los apuntadores pueden y deben ser pasados a una

función.

En C, las cadenas son arreglos de caracteres. Esto no es necesariame

nte cierto para otros lenguajes. En Basic,

Pascal, Fortran y en otros lenguajes, una cadena tiene definido su propio tipo de datos. Pero en C, esto no es

así. En C una cadena es un arreglo de caracteres

terminado con un carácter

binario

de cero (escrito c

omo

\

0

).

Para comenzar nuestra

discusión

escribiremos algo de código, el cual si bien es preferido para propósitos

meramente ilustrativos, probablemente no

lo

escribirás en un programa real. Consideremos por ejemplo:

char m

i_cadena

[40];

mi_cadena

[0] =

'T';

mi_cadena

[1] = 'e';

mi_cadena

[2] = 'd':

mi_cadena

[3] = '

\

0';

Si bien uno nunca construiría cadenas de este modo, el resultado final es

una cadena que

es en realidad un

arreglo de caracteres

terminad

o con un

caracter

nul

. Por definición, en C, u

na cadena es un arreglo de

caracteres terminado con el carácter

nul

. Hay que tener cuidado con que

nul

no es lo mismo que

NULL

.

El “nul”

se

refiere

a un cero definido por la

secuencia

de escape ‘

\

0’. Esto es, que ocupa un byte de memoria. El

“NULL”, por ot

ra parte, es el

nombre de la macro usada para inicializar apuntadores nulos

. NULL es

definido

en un

archivo de cabecera del compilador de C, mientras que nul

puede no estar

definido del todo.

Ya que al estar escribiendo código como el de arriba gastaría

mos mucho tiempo, C permite dos modos

alternativos de llegar al mismo resultado. El primero sería escribir:

char

mi_cadena

[40] = {'T', 'e', 'd', '

\

0',};

Pero se lleva más tecleado del que es conveniente

.

Así que C permite:

char

mi_cadena

[40] = "Ted";

Cu

ando usamos las comillas dobles

, en lu

gar de las simples usadas en los

ejemplos anteriores, el carácter nul

(‘

\

0’) se añade automáticamente al final de la cadena.

En cualquiera de los casos descritos arriba sucede la misma cosa,. El compilador asigna

un bloque

continuo

de

memoria de 40 bytes de longitud para alojar los caracteres y los inicializa de tal manera que los primeros 4

caracteres son Ted

\

0.

n",i, *(ptr + i));

/*<

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com