#include<stdio.h>
int main()
{
int ary[4] = {1,2,3,4};
int *p = ary + 3;
printf("%d %d %d %d",*p, p[-2], p, ary );
printf("%d",&ary)
return 0;
}
如前所述,如果要打印指针(按 p 指向的地址(,则使用了错误的 printf 格式化器-使用 p 作为打印指针的转换说明符。 见下文: 例如
int var = 0;
printf("%pn", (void *) &var);
int* p_var= &var;
printf("%pn", (void *) p_var);