c语言入门:字符串数组

用数组表示法声明字符串数组时
字符串数组的数组名表示数组的首元素的地址
用指针表示法声明时
指针也指向字符串的首字符,表示首字符的地址
那为什么程序输出的数组名表示的地址和指针表示的地址不同啊?

没有看明白你的意思,你是说这个样子吗?
#include<stdio.h>
int main()
{
int a[5]={0,1,2,3,4};
int *p=a;
printf("%d\n",&a[0]);
printf("%d",&*p);
return 0;
}

可能你定义时存在问题