#include <stdio.h> #include <stdlib.h>
int main() { int a[8]; int *p; //***************************用下标法打印a数组**************************// printf("\n***************************用下标法打印a数组**************************\n"); for(int i=0;i<8;i++) { a[i]=i; printf("a[%d]=%d\t",i,a[i]); } printf("\n****************************end end end******************************\n"); //****************************end end end******************************//
//***************************使用指针变量打印**************************// printf("\n***************************使用指针变量打印**************************\n"); p=a; for(int j=0;j<8;j++) { printf("p%d=%d\t",j,*p++); } printf("\n****************************end end end******************************\n"); //****************************end end end******************************// printf("\n");
//************************用数组名指针运算打印*************************// printf("\n************************用数组名指针运算打印*************************\n"); for(int k=0;k<8;k++) { printf("a[%d]=%d\t",k,*(a+k)); } printf("\n****************************end end end******************************\n"); //****************************end end end******************************// //****************************打印二维数组b的值地址********************// printf("\n***************************打印二维数组b的值及地址*******************\n"); int b[4][4]; for(int n=0;n<4;n++) { for(int m=0;m<4;m++) { b[n][m]=n*m; printf("%d\t",b[n][m]); printf("%d\t",&b[n][m]); } printf("\n"); } printf("\n****************************end end end******************************\n"); //****************************end end end******************************// int *pp=&b[0][0]; int **ppp=&pp;
//*********************二维数组b的地址、以及pp和*ppp的值****************// printf("\n*********************二维数组b的地址、以及pp和*ppp的值****************\n"); printf("\n&b[0][0]=%d\tpp=%d\t*ppp=%d\n",&b[0][0],pp,*ppp); printf("\n****************************end end end******************************\n"); //****************************end end end******************************//
//*****************二维数组b[0][0]、以及*pp和**ppp的值******************// printf("\n*****************二维数组b[0][0]、以及*pp和**ppp的值******************\n"); printf("\nb[0][0]=%d\t*pp=%d\t**ppp=%d\n",b[0][0],*pp,**ppp); printf("\n****************************end end end******************************\n"); //****************************end end end******************************//
//***************************使用指针变量打印**************************// printf("\n***************************使用指针变量打印**************************\n"); for(pp=&b[0][0];pp<(&b[0][0]+16);pp++) printf("%d\t",*pp); printf("\n****************************end end end******************************\n"); //****************************end end end******************************//
printf("\n&pp=%d\t&ppp=%d\n",&pp,&ppp);
printf("\nppp=%d\t*ppp=%d\n",ppp,*ppp);
printf("%d\t",*(*ppp-1));
return 0; }
|