Tecnología

Inicio

¿Cuál es la diferencia entre el punto de partituras y Flecha notación en C?

Los programadores usan el lenguaje de programación C para el software de sistemas y el 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 representan un pedazo más grande de datos con muchos valores pertinentes. El acceso a estos valores significa referencia a ellos con la estructura con alguno de los "punto" especial y notaciones "flecha" (dependiendo de la situación).

Estructuras C

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 suelen contener dos o más variables de datos, y representan un tipo de datos coherente (en lugar de actuar 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:

Nodo struct {

int data = 1;

struct nodo * siguiente;

};

punteros

Dentro de la estructura "nodo" existe un puntero a otra estructura de nodos. Los punteros a estructuras son muy comunes al pasar variables de estructura de funciones. También son un factor al decidir qué notación de un programador debe utilizar para hacer referencia a datos de la estructura. Punteros crear una referencia de memoria a un tipo de datos, en lugar de crear una variable de poca profundidad para el tipo de datos. Así, en el ejemplo siguiente, la primera declaración declara una estructura variable en un ámbito local, lo que significa que tiene que ser copiado y movido alrededor. La segunda declaración declara un puntero a una estructura en la memoria que permite que las cosas tales como la asignación de memoria dinámica:

struct Nodo x;

struct * y nodo;

punto de notación

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 tendrá acceso a datos a través de la notación de punto. notación de puntos, simplemente se conecta una variable de estructura y un miembro de datos a través de una estructura de 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 la recuperación de 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 memoria para que la memoria referencias puntero con el tamaño adecuado. A continuación, se puede utilizar la notación de flecha ( "->") para acceder a los datos:

struct * y nodo;

y = malloc (sizeof (struct Nodo)); // Asigna memoria a y en el tamaño de una estructura de nodo

Int J = y-> datos; // Número entero j ahora es igual a uno


Artículos relacionados