Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Puntos vacíos en C: Por qué los necesita en su experiencia de codificación

En los lenguajes de programación, ciertos conceptos facilitan mucho la codificación. Por ejemplo, el puntero de vacío determina el tipo de datos específico a partir de las entradas de un usuario final en el lenguaje de programación C. Por lo tanto, nos lleva a discutir los punteros vacíos en C.

Como otros, los punteros de vacío tienen funciones relevantes por su flexibilidad. Pero, si desea ahorrar tiempo al codificar, su función de puntero de acceso es un puntero vacío. Este puntero le permite almacenar y recuperar un tipo de objeto diferente simultáneamente. Más adelante, aprenderá todo sobre las técnicas de codificación que involucran punteros vacíos en C.

(Imagen de un lenguaje de programación)

1. ¿Qué son los punteros vacíos en C?

Generalmente, los punteros vacíos son punteros sin ningún tipo de datos relacionado. En otras palabras, son como contenedores vacíos. Esta característica les permite mantener direcciones de un tipo variable de tipo de datos desconocido.

La función de puntero vacío de C le permite convertirlos en otros tipos de datos, lo que permite una fácil asignación de memoria. Posteriormente, esto permite funciones flexibles como bytes en la asignación de memoria. Además, los punteros vacíos en C ayudan a realizar funciones genéricas.

(Un simple programa "Hola Mundo" en lenguaje de programación C)

https://commons.m.wikimedia.org/wiki/File:C_Hello_World_Program.png

2. ¿Cómo funciona Void Pointer en C?

En general, la función de puntero es esencial para la programación. Al menos, vemos su importancia al abordar la administración y la asignación de memoria.

Hay dos tipos de punteros diferentes; punteros genéricos y punteros vacíos. Nuestro enfoque, sin embargo, está en los punteros vacíos y cómo funcionan en C.

Para tener un puntero vacío en C, solo necesita declarar una información con la palabra clave "vacío".

En general, la referencia y la desreferenciación juegan un papel en el concepto de puntero de propósito general. La desreferenciación, en este caso, es cuando obtiene un valor almacenado en la variable de puntero.

Por lo tanto, si un valor de puntero no está asociado con los tipos de datos disponibles, tiene la opción de conversión de tipos.

Sin embargo, tenga en cuenta que los punteros vacíos no admiten ninguna operación aritmética. En su lugar, usamos el operador de direccionamiento indirecto "*". Por esa razón, se hace necesario tipear en ausencia de un tipo de datos asociado. Typecasting, por lo tanto, relaciona el tipo de datos declarado junto con el puntero vacío. De lo contrario, al ejecutar el programa se muestra un error de compilación.

El tamaño del vacío es similar a un puntero de carácter en C. El tamaño del objeto varía según la plataforma del puntero.

Estas funciones de gestión de memoria son malloc() y calloc(). A cambio, estas funciones ayudan a asignar memoria del tipo de datos necesario. En cierto modo, la asignación de memoria utiliza un formato que permite que el puntero de función mejore otras funciones.

(Una ilustración pictórica de cómo funcionan los punteros en C).

https://commons.m.wikimedia.org/wiki/File:C_pointer_3.svg

3. Sintaxis de Void Pointer

Por lo general, sería mejor usar la sintaxis correcta para importar cualquier función de programación. Por lo tanto, la sintaxis de un puntero vacío en C es:

Vacío *pointer_name;

Donde “void” es la palabra clave del tipo de puntero. Entonces, tenemos el nombre del puntero al que apuntamos y le damos una asignación de dirección.

Tomemos el siguiente ejemplo:

entero b =6

carácter c ='z';

Por lo tanto, en un caso en el que incluimos una variable de puntero vacío, tenemos:

Vacío *p =&b; // puntero vacío asigna y mantiene int 'b' como dirección de entero.

P =&c; // el puntero vacío también contiene la dirección char 'c'.

Yendo más allá, destaquemos algunos ejemplos de sintaxis:

inti=6; // inicialización de variable entera.

int *p; // declaración de puntero entero.

vacío *ptr; // declaración de puntero vacío.

flotar *fp; // declaración de puntero flotante.

p=fp; // puntero inválido.

ptr=p; // puntero válido.

fp=&i; // puntero inválido.

ptr=&i; // puntero válido.

ptr=fp; // puntero válido.

4. Algunos ejemplos de punteros vacíos en C con códigos de muestra

Continuando, vemos un ejemplo de argumentos de puntero vacío en el fragmento de código a continuación:

Código de muestra #1

En la primera de nuestras muestras de código, mostramos cómo usar la función malloc(), así:

#incluir

#incluir

int principal()

{

int a=90;

int *x =(int*)malloc(tamaño(int));

x=&a;

printf(“valor apuntado por el puntero x:%d”,*x);

devuelve 0;

}

Salida

Código de muestra #2

En el siguiente código, mostramos el concepto de conversión de tipos.

#incluir

int principal()

{

vacío *ptr =NULL; //variable de puntero vacío

int *p =NULL; // variable de puntero entero

char *cp =NULL;//variable de puntero de carácter

float *fp =NULL;//variable de puntero flotante

//tamaño de puntero vacío

printf(“tamaño del puntero vacío =%d\n\n”,sizeof(ptr));

//tamaño de puntero entero

printf(“tamaño del puntero entero =%d\n\n”,tamaño(p));

//tamaño del puntero del carácter

printf(“tamaño del puntero del carácter =%d\n\n”,tamaño(cp));

//tamaño del puntero flotante

printf(“tamaño del puntero flotante =%d\n\n”,sizeof(fp));

devuelve 0;

}

Salida

De lo contrario, vea el enlace de video adjunto a continuación sobre los códigos de puntero vacío en la programación C.

https://youtu.be/-503stjWLhc

5. Usos del puntero vacío

De lejos, el puntero vacío tiene una gran relevancia en la programación en lenguaje C.

Para una mejor comprensión, consulte el ejemplo de código a continuación. Algunos de ellos incluyen:

#include

vacío principal()

{

int num=10;//Inicializa una variable normal

void *ptr;//Declara el puntero de vacío

ptr=#//Dirige el puntero de Ptr a num

printf(“El valor de la variable entera es=%d”,*ptr );

}

Sin embargo, ejecutar este código genera un error en tiempo de compilación. Si utiliza la conversión de tipo en el mismo código para eliminar la referencia del puntero, obtendrá el resultado deseado, por lo tanto:

#include

vacío principal()

{

int num=10;//Inicializa una variable normal

void *ptr;//Declara el puntero de vacío

ptr=#//Dirige el puntero de Ptr a num

printf(“El valor de la variable entera es %d”, *(int*)ptr );// Eliminación de referencias mediante encasillamiento

}

El valor de la variable entera es 10.

Por lo tanto, mediante la conversión de tipos, podemos desreferenciar punteros vacíos.

Entonces, si bien la aritmética de punteros no es válida con punteros vacíos, la conversión de tipos ayuda a resolver ese problema. La salida se convierte en:

(El puntero vacío facilita la codificación al revelar la ubicación de las variables de datos)

Para ilustrar, vea el siguiente código:

int principal (vacío)

{

// Tenga en cuenta que la función malloc() devuelve void *

// Seguimiento, type-cast a cualquier tipo de datos como char *, int *,...

int *x =malloc(tamaño(int) * n);

}

Cabe destacar que el programa anterior se compila solo en C.

Conclusión

La función de puntero vacío es una herramienta de programación esencial, en general. Los programadores lo encuentran útil porque no hay tipos de datos asociados con él. Al menos, elimina la confusión de los punteros que dirigen diferentes valores y clases de datos entre sí. Por lo tanto, los punteros vacíos reducen el exceso de conversión de tipos. También es compatible con el tipo de datos de puntero genérico. Por lo tanto, también es un compilador de propósito genérico.

Tienes una guía completa sobre cómo trabajar con punteros vacíos en c. Sin embargo, si tiene consultas o necesita otros recursos de programación, nuestra página de contacto siempre está disponible.


Tecnología Industrial

  1. Por qué necesita una auditoría energética del aire en su sistema de aire comprimido
  2. Qué son los limitadores de par y por qué los necesita
  3. ¿Qué son las abrazaderas hidráulicas y por qué las necesita?
  4. 4 razones por las que deberías digitalizar tu documentación industrial
  5. ¿Por qué es absolutamente necesario configurar un sistema Andon?
  6. Corte por plasma:4 razones por las que necesita una mesa de plasma en su tienda ahora
  7. 10 razones convincentes por las que necesita el corte por chorro de agua
  8. ¿Por qué necesita un herrero mecánico?
  9. ¿Por qué necesita una servoprensa pequeña?
  10. ¿Por qué necesita un centro de mecanizado de 5 ejes?
  11. ¿Por qué necesita un robot de bebidas?