//1.定义一个整型变量a,输出a的地址和值。
//2.定义一个指向整型变量a的指针ptr,输出指针ptr的值以及指针所指向的变量a的值。
//3.修改指针ptr的值,使其指向变量a的地址-1,并输出ptr的值和所指向的变量的值。
//4.定义一个整型数组arr,输出数组的首地址和第一个元素的地址以及值。
//5.定义一个指向数组arr的指针p,输出指针p的值以及所指向的数组元素的值。
//6.修改指针p的值,使其指向数组arr的第二个元素,输出指针p的值以及所指向的数组元素的值。
//7.定义一个指向指针p的指针pp,输出指针pp的值以及所指向的指针p的值和指向的数组元素的值。
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a;
scanf("%d",&a);
printf("%d,%d\n",&a,a);
int *ptr=&a;
printf("%d,%d\n",ptr,*ptr);
ptr=ptr-1;
printf("%d,%d\n",ptr,*ptr);
int i,n;
scanf("%d",&n);
int arr[n];
for(i=0;i<n;i++){
scanf("%d",arr[i]);
} ;
printf("%d,%d,%d\n",arr,&arr[0],arr[0]);
int *p=arr;
printf("%d,%d\n",p,*p);
p=p+1;
printf("%d,%d\n",p,*p);
int **pp=&p;
printf("%d,%d,%d\n",pp,*pp,**pp);
return 0;
}