这个指针数组完全不懂啊。
#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;
}我也不知道我写的对不对 指针这块 我也挺弱的
