? Programadores usan el lenguaje de programación C para el software y los sistemas de código de bajo nivel. Debido a esto , una de las capacidades de C es la creación de estructuras de datos complejas . Estas estructuras contienen datos recogidos juntos , a menudo representa un pedazo más grande de datos con muchos valores pertinentes . El acceso a estos valores significa referirse a ellos con la estructura mediante una de las notaciones " flecha " ( según la situación ) "punto" especial . C Estructuras
Creación de un tipo de datos complejo en C implica la creación de lo que se conoce como una estructura , utilizando la palabra clave " struct " . Estas estructuras , contendrá habitualmente dos o más variables de datos , y representan un tipo de datos coherente ( en lugar de sólo actúa como una colección de datos aleatorios ) . Por ejemplo , la siguiente estructura C representa un nodo en una estructura de datos más grande , y contiene una porción de datos , y un puntero a otra estructura del mismo tipo :
struct nodo { int
data = 1 ;
struct nodo * siguiente ;
} ;
Punteros
Dentro de la estructura " nodo" existe una puntero a otra estructura del nodo . Punteros a estructuras son muy comunes al pasar variables de estructura de funciones. También son un factor al decidir que la notación de un programador debe utilizar para hacer referencia a la estructura de datos . Punteros crear una referencia de memoria a un tipo de datos , en lugar de crear una variable poco profunda para el tipo de datos . Así que en el siguiente ejemplo, la primera declaración declara una estructura variable en el ámbito local , lo que significa que tiene que ser copiado y movido alrededor . La segunda declaración se declara un puntero a una estructura en memoria que permite cosas como la asignación de memoria dinámica :
struct Nodo x;
struct nodo * y;
notación Dot
la notación necesaria para acceder a los datos en las estructuras depende del contexto de la estructura. Si el programador declara una variable de estructura como una variable local, entonces se accederá a los datos a través de la notación de punto . Dot notación simplemente conecta una variable de estructura y un miembro de la estructura de datos a través de un símbolo de punto (" . ") . Los siguientes ejemplos muestran cómo el programador recuperar datos de una variable de nodo a través de la notación de puntos :
struct Nodo x;
int j = x.data //j ahora es igual a uno
Flecha Notación
el otro contexto para recuperar datos de las estructuras es cuando el programador tiene un puntero a una estructura en lugar de una variable local. Cuando el programador crea un puntero a una estructura, dos cosas tienen que suceder . En primer lugar , se debe declarar el puntero estructura. En segundo lugar , se debe asignar la memoria para que la memoria las referencias del puntero con el tamaño adecuado. A continuación , puede utilizar la notación de flecha ("- > ") para acceder a los datos :
struct nodo * y;
y = malloc ( sizeof ( struct Nodo ) ) ; memoria //asigna a S en el tamaño de un nodo struct
int j = y -> data //entero j ahora equivale a un