[Lenguaje C-Nombre de matriz] La diferencia entre nombre de matriz y nombre de matriz

Cosas a tener en cuenta al utilizar nombres de matrices:

1. arr es equivalente a  &arr[0] , indica la dirección del primer elemento de la matriz

2. &arr   representa la primera dirección de toda la matriz

Como se muestra en las primeras tres líneas de la figura, los resultados de los dos son los mismos y ambos representan direcciones, es decir, punteros, pero el alcance de los punteros es diferente.

Explicación específica:

Código adjunto:

#include <stdio.h>
int main()
{
	int arr[3] = {1,2,3};
	//数组名是数组首元素的地址==&数组名[0]
	printf("%p\n", arr);     //0053F7FC
	printf("%p\n", &arr[0]); //0053F7FC
	
    //&数组名:整个数组的首地址
	printf("%p\n", &arr);    //0053F7FC
	
	//数组名和&数组名的区别
	printf("%p\n", arr+1);   //0053F800
	printf("%p\n", &arr+1);  //0053F808
							 
	return 0;
}

 

 

Supongo que te gusta

Origin blog.csdn.net/ggbb_4/article/details/129185642
Recomendado
Clasificación