Programación C de microcontroladores (C515C)
Ejemplo:
números int[5];
int *p;
p=números;
*p=10;
Análogamente a esta asignación de valores del primer elemento también es posible al
acceso indexado:
números[0]=10;
La expresión Elemento de campo[i] corresponde a la expresión *(puntero+i), debiendo ser i
un número entero. La adición del número entero a la variable de puntero es interpretada por
el Compilador como un múltiplo del tamaño del tipo de datos al que apunta el puntero. En el
ejemplo el puntero p apunta al elemento de campo Integer 0. Incrementando el puntero, éste
apunta después al elemento de campo Integer con el índice 1.
números int[5];
int *p;
p=números;
p++;
Punteros y cadenas de caracteres
Para la generación de cadenas de caracteres o Strings existen dos posibilidades:
char string[]={"Texto"};
o:
char *string="Texto";
En la primera variante se genera un campo del tipo Character con 5 caracteres y en la
segunda variante se declara un puntero del tipo Character que apunta a la primera
dirección de un área de 5 caracteres. Las cadenas de caracteres se archivan internamente
de la siguiente manera:
El Compilador añade a las cadenas puestas entre comillas un \0 como indicativo de final.
Por esta razón, los strings también se designan como cadenas de caracteres terminadas en
cero.
La segunda variante ofrece adicionalmente la posibilidad de poder direccionar, con un
campo de puntero, cadenas de caracteres de diferentes longitudes.
char *día[]=
16
CMC 5
// Campo del tipo Integer con 5 elementos
// Puntero en Integer
// p apunta al 1º elemento
// Elemento números[0] recibe el valor 10
// Elemento números[0] recibe el valor 10
// Campo del tipo Integer con 5 elementos
// Puntero en Integer
// p apunta al 1º elemento de campo
// p apunta al 2º elemento de campo
T
e
x
t
{
"Lunes",
"Martes",
"Miércoles",
"Jueves",
"Viernes"
};
números[0]
\0
números[0]
números[1]
Introducción CMC 5