#include <stdio.h>int main(void){
int a[5] = {1, 2, 3, 4, 5};
int *ptr = (int *)(&a+1);
int *p1 = a;
int *p2 = &a[0];
int *p3 = (int *)(&a);
if(p1 == p2){
printf("p1 == p2\n");
}else{
printf("p1 != p2\n");
}if(p1 == p3){
printf("p1 == p3\n");
}else{
printf("p1 != p3\n");
}if(p2 == p3){
printf("p2 == p3\n");
}else{
printf("p2 != p3\n");
}
printf("%d %d\n",*(a+1),*(ptr-1));
int *p4 = ++p1;
int *p5 = ++p3;
if(p4 == p5){
printf("p4 == p5\n");
}else{
printf("p4 != p5\n");
}
retu
C/C++拾遗:关于数组的指针和数组元素首地址的一道经典题
最新推荐文章于 2023-08-11 20:41:18 发布