En C, ¿es posible comparar los tamaños de cualquier puntero del mismo tipo?
Una variable puntero no es más que un número entero largo que representa una dirección de memoria, por lo que ciertamente se pueden hacer comparaciones. Cuando apunta a la misma matriz, los tamaños de los dos punteros indican cuál apunta al primer o segundo elemento. Si los dos punteros no apuntan a la misma matriz, entonces comparar los tamaños solo puede mostrar cuál apunta a una dirección de memoria más pequeña, lo cual no tiene sentido.
Hay dos formas de acceder a la variable a:
Una es buscar directamente la unidad de almacenamiento de a en la dirección 0x065FDF4H y luego acceder a la variable a;
El segundo El primer método es encontrar p = amp; a en la dirección asignada por el sistema para p = amp; a, y luego acceder a la variable a en la dirección 0x065FDF4H de acuerdo con los valores de p, amp; a. El primer método de acceso se denomina método de acceso directo y el último método de acceso se denomina método de acceso indirecto.
Información ampliada
Para acceder a una variable, primero necesita encontrar la dirección de la variable en la memoria, o la dirección que apunta de forma única a la variable en la memoria. Si almacena la dirección de una variable en un área específica de la memoria y usa una variable para almacenar estas direcciones, entonces dicha variable es una variable de puntero, y acceder a la variable a través de un puntero es una forma de "acceder" a la variable. , es decir, acceder a la variable a través de un puntero. Acceder a una variable a través de un puntero también es un "acceso indirecto" a la variable.
Establece un conjunto de variables de puntero pa, pb, px, py, pm, pch1, pch2, apuntando a las variables a, b, x, y, m, ch1, ch2, etc. respectivamente. Las variables de puntero también se almacenan en la memoria, aunque apuntan a diferentes tipos de variables, las variables de puntero ocupan dos bytes de memoria independientemente del tipo de variable a la que apunten.