C语言—指向多维数组的指针

作者:追风剑情 发布于:2019-10-12 20:11 分类:C

示例

  1. //Visual Studio中加上这句才可以使用scanf()
  2. //否则只能使用scanf_s()
  3. #define _CRT_SECURE_NO_WARNINGS
  4. #include <stdio.h>
  5. #include <stdbool.h>
  6.  
  7. //argc: 参数个数 argv[]: 参数数组
  8. int main(int argc, char *argv[])
  9. {
  10. //[]优先级大于*
  11. //pz指向一个内含两个int类型值的数组
  12. //int (*pz)[2];//相当于int pz[][2];
  13. //pax是一个内含两个指针元素的数组,每个元素都指向int的指针
  14. //int * pax[2];//一维指针数组
  15.  
  16. int zippo[4][2] = { {2,4}, {6,8}, {1,3}, {5,7} };
  17. int(*pz)[2];
  18. pz = zippo;
  19.  
  20. printf("pz=%p, pz+1=%p\n", pz, pz + 1);
  21. printf("pz[0]=%p, pz[0]+1=%p\n", pz[0], pz[0] + 1);
  22. printf("*pz=%p, *pz+1=%p\n", *pz, *pz + 1);
  23. printf("pz[0][0]=%d\n", pz[0][0]);
  24. printf("*pz[0]=%d\n", *pz[0]);
  25. printf("**pz=%d\n", **pz);
  26. printf("pz[2][1]=%d\n", pz[2][1]);
  27. printf("*(*(pz+2)+1)=%d\n", *(*(pz + 2) + 1));
  28.  
  29. system("pause");
  30. return 0;
  31. }

运行测试
1111.png

标签: C语言

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号