这个指针数组完全不懂啊。
#include <stdio.h>int main()
{
int a[5]={1,2,3,4,5};
int *i = a;
int *ptr=(int *)(&i);
int *p = (int *)(&a);
printf("%d,%d",*ptr,*p);
}
执行输出居然是:*ptr=乱码,*p=1。。。不是应该都等于1么
int main() { int a[5]={1,2,3,4,5}; printf("数组a的首地址是%8X\n",a); printf("数组a的首地址是%8X\n",&a[0]); int *i = a; printf("指针i的地址是%8X\n",&i); printf("指针i的值是%8X\n",i); printf("指针i指向的具体数值是%8X\n",*i); int *ptr=(int *)(&i); printf("指针ptr的地址是%8X\n",&ptr); printf("指针ptr的值是%8X\n",ptr); printf("指针ptr指向的具体数值是%8X\n",*ptr); int *p = (int *)(&a); printf("指针p的地址是%8X\n",&p); printf("指针p的值是%8X\n",p); printf("指针p指向的具体数值是%8X\n",*p); printf("%X,%X\n",*ptr,*p); return 0; }我也不知道我写的对不对 指针这块 我也挺弱的