Aplicación sencilla de punteros

Comprensión simple de los punteros

La posición del puntero en c es muy importante y el puntero debe aprenderse bien. De simple a difícil.

1. Definición simple de punteros.
En segundo lugar, el tipo de puntero.
3. Puntero salvaje.
4. Operación del puntero.
5. Comprensión de punteros y matrices.
En sexto lugar, el puntero de segundo nivel.
Siete, matriz de punteros.

1. Definición simple de puntero

Pointer es una herramienta que utiliza la dirección para realizar cálculos, apunta directamente a la dirección y encuentra la unidad de memoria de la dirección a través de ella.
El puntero es una variable que almacena la dirección de la unidad de memoria.
Primero se debe definir el puntero, se debe usar el puntero y se debe asignar un espacio para el puntero La dirección de la variable apuntada por el puntero se coloca en el espacio del puntero.

int a=5;//在内存中开辟一块空间
int* p=&a;//申请一个int指针,用&取a的地址赋值给指针。
               //随后p代表a的地址,*p代表a的值,既*p=2
							 

En segundo lugar, el tipo de puntero

// Si desea almacenar la dirección, el tamaño de este puntero debe tener suficiente espacio para almacenar otras direcciones.
// Para un sistema de 32 bits, la dirección máxima requiere 4 bytes y un sistema de 64 bits requiere 8 .. .
// Entonces, el tamaño del puntero Ambos son 4 bytes.
// El tipo de variable debe explicarse. Lo mismo ocurre con los punteros. El tipo de puntero determina que el puntero apunta al mismo tipo.
// Pero a través de la conversión forzada, puede apuntar a diferentes tipos, lo que significa que otros los tipos de valores se convierten en tipos de puntero.

int *p=NULL;//既存放int类型变量的地址。
char *p=NULL;
short *p=NULL;
long *p=NULL;
float *p=NULL;
double *p=NULL;
void *p=NULL;//无类型指针,可以将其它类型的地址值赋给它,但它不能随便赋值给其他类型。
//强转如下:
int n=10;
char *p=(char *)&n;//将int类型的变量地址强转为char类型。
                              //指针类型决定了,指针向前向后的移动距离。

Tres, puntero salvaje

No se conocen ni el puntero salvaje ni la posición señalada por el puntero.
Motivo: el puntero no se inicializa, el acceso del puntero está fuera de los límites y el espacio al que apunta el puntero se libera.

Cuatro, aritmética de puntero



int a=10;
int *p=&a;
p++;//既对a地址向后加1
 *p+1; //既对a的值+1
*p=5;//既将a的值改为5
允许指向数组的指针在数组中比较位置大小。不可以与其它数组比较。

5. Comprensión de punteros y matrices.

int arr[]={
    
    1,2,3,4,5}//arr为首元素,代表整个数组。
int *p=arr;//**p存放的事首元素的地址。**
p[0]=1;
*p[0];//表示首元素地址

Seis, puntero secundario

Las variables de puntero también son variables, tanto la dirección del puntero, el puntero p almacena el puntero a la dirección, como la dirección del puntero p se almacena en ppa, que es el puntero al puntero. ppa es un puntero secundario.

Siete, matriz de punteros **

** es una matriz, con las siguientes palabras como resultado final.

Matriz de punteros:

Primero es una matriz, y esta matriz almacena punteros. **

Puntero de matriz:

En primer lugar, es un puntero que apunta a una matriz.

Supongo que te gusta

Origin blog.csdn.net/weixin_52270223/article/details/109854334
Recomendado
Clasificación