数组和数组第一个元素地址# include int main(void){\x05char a[] = "fdgrgherht";char *p = &a[0];\x05printf("\n %p\n",p);\x05printf(" %p",a[0]);\x05p = a;\x05printf("\n %p",p);\x05printf("\n %p",a);\x05return 0;}/*----------------------------
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/01 05:56:44
![数组和数组第一个元素地址# include int main(void){\x05char a[] =](/uploads/image/z/14413033-1-3.jpg?t=%E6%95%B0%E7%BB%84%E5%92%8C%E6%95%B0%E7%BB%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%85%83%E7%B4%A0%E5%9C%B0%E5%9D%80%23+include+int+main%28void%29%7B%5Cx05char+a%5B%5D+%3D+%22fdgrgherht%22%3Bchar+%2Ap+%3D+%26a%5B0%5D%3B%5Cx05printf%28%22%5Cn+%25p%5Cn%22%2Cp%29%3B%5Cx05printf%28%22+%25p%22%2Ca%5B0%5D%29%3B%5Cx05p+%3D+a%3B%5Cx05printf%28%22%5Cn+%25p%22%2Cp%29%3B%5Cx05printf%28%22%5Cn+%25p%22%2Ca%29%3B%5Cx05return+0%3B%7D%2F%2A----------------------------)
数组和数组第一个元素地址# include int main(void){\x05char a[] = "fdgrgherht";char *p = &a[0];\x05printf("\n %p\n",p);\x05printf(" %p",a[0]);\x05p = a;\x05printf("\n %p",p);\x05printf("\n %p",a);\x05return 0;}/*----------------------------
数组和数组第一个元素地址
# include
int main(void)
{
\x05char a[] = "fdgrgherht";
char *p = &a[0];
\x05printf("\n %p\n",p);
\x05printf(" %p",a[0]);
\x05p = a;
\x05printf("\n %p",p);
\x05printf("\n %p",a);
\x05return 0;
}
/*
--------------------------------
0012FF3C
00000066
0012FF3C
0012FF3C
--------------------------------
*/
按照我的理解是打印出第一行p地址和打印出第二行a[0]地址应该是一样的,这个怎么解释
数组和数组第一个元素地址# include int main(void){\x05char a[] = "fdgrgherht";char *p = &a[0];\x05printf("\n %p\n",p);\x05printf(" %p",a[0]);\x05p = a;\x05printf("\n %p",p);\x05printf("\n %p",a);\x05return 0;}/*----------------------------
printf(" %p",a[0]);
这个打印的是数组a第一个元素的值,也就是 'f',并不是a[0]的地址,要打印a[0]的地址应该写成
printf(" %p",&a[0]);