¿Cuáles son los usos de los punteros en lenguaje C?
Todos los valores de las variables se almacenan en la memoria y cada memoria tiene una dirección. La llamada dirección es un número entero, al igual que un número de casa utilizado para el posicionamiento (el término profesional se llama direccionamiento). y una dirección corresponde a una unidad de memoria de sección de palabra (8 bits).
En los compiladores actuales, un valor de tipo entero ocupa 32 bits, que son 4 bytes. El compilador define el número del primer byte como la dirección del número entero. Dado que la dirección se guarda, es como una variable. una flecha que apunta a una dirección y se llama variable de puntero.
int a =10; //Definir una variable entera a y asignarle un valor de 10
int *p =amp; //Definir una variable de puntero p y asignarla; es un valor La dirección de memoria de a, el símbolo amp significa la referencia a la dirección de la variable que le sigue.
cout lt; alt; endl; // Muestra el valor de a: 10
cout lt; valor de p Valor: XXXXX es en realidad la dirección de a, que está determinada por el compilador y el tiempo de ejecución.
cout lt; lt; *p lt; endl; // Muestra el valor en la dirección señalada por p: 10, que es el valor de a. variable significa tomar La dirección en la variable se refiere al valor en la memoria.
El proceso de lectura es: valor de p (dirección de a)-gt; direccionamiento-gt; valor
Dado que el puntero es la dirección del primer byte de una variable, entonces necesita decirle al compilador cuántos bytes consecutivos contiene la dirección señalada, por lo que los punteros también tienen tipos. Por ejemplo, en el ejemplo anterior, el puntero p se declara como un puntero entero, por lo que el compilador sabe que p apunta a un bloque de memoria de 4 bytes.
Puedes pensar en las variables de puntero como variables enteras generales, utilizadas para almacenar un número entero (la dirección es un número entero), pero el número entero representa una determinada dirección, en este caso la dirección de a.
Es muy flexible en C/C, pero también es muy peligroso y difícil de aprender. Si el puntero apunta a la dirección incorrecta, provocará que el programa se bloquee. por Microsoft en C#, pero todavía hay un puntero interno.
Si es necesario, también puede usar punteros en C# para usar código no seguro. Marque "Permitir código no seguro" en la pestaña de generación del proyecto, y luego podrá usar punteros, pero esto no se recomienda. .
inseguro
{
int a = 10
int* p=amp; }