C 数组、指针地址值混淆

C 数组、指针地址值混淆,c,pointers,C,Pointers,在运行下面的代码时,我得到了以下输出 num= 2359120, addr of num=2359120, *num=10,addr of num[0]=2359120 我无法理解num和&num如何具有相同的值。需要帮忙吗?我知道数组的名称本身就是指针 #include <math.h> #include<stdio.h> main() { int num[]={10,20,30,40,50}; printf("num= %d, addr of num=%d, *nu

在运行下面的代码时,我得到了以下输出

num= 2359120, addr of num=2359120, *num=10,addr of num[0]=2359120
我无法理解num和&num如何具有相同的值。需要帮忙吗?我知道数组的名称本身就是指针

#include <math.h>
#include<stdio.h>
main()
{
int num[]={10,20,30,40,50};
printf("num= %d, addr of num=%d, *num=%d,addr of num[0]=%d\n",num,&num,*num,&num[0]);
}
#包括
#包括
main()
{
int num[]={10,20,30,40,50};
printf(“num=%d,addr of num=%d,*num=%d,addr of num[0]=%d\n”,num,&num,*num,&num[0]);
}

数组的名称
num
与数组的地址
&num
相同,后者与第一个元素的地址
&num[0]
相同,因此是您的输出。

以重复形式结束,在发布问题之前对研究不足进行向下投票。