显然是地址啊,p是指针里面存储的是地址,*p是指向地址对应的值
这里输出的是P的地址,其地址指向的值为66
++*p就是让p指向的内容+1后返回,所以是66
p++表示先使用p指向的值,再将指针p向后移动一位;++p表示先将指针p向后移动一位,再使用p指向的值。
具体的输出结果和使用环境有关,需要结合具体的代码来分析。例如,以下代码中:
int arr[] = {1, 2, 3, 4, 5}; int p = arr; printf("%d\n", p++); // 输出1 p = arr; printf("%d\n", *++p); // 输出2
第一行代码中,p++指向arr数组的第一个元素1,输出1后,指针p向后移动到arr数组的第二个元素2。第二行代码中,++p首先将指针p向后移动一位,然后指向arr数组的第二个元素2,输出2。
在计算机中,指针相当于一个变量,指向内存中的某个位置。p++和++p都可以用来连续访问一段连续的内存,区别在于指针的移动顺序不一样。具体使用哪个,需要结合具体的应用场景来决定。