zoukankan      html  css  js  c++  java
  • [拾零]C语言的数组指针

    为了强化记忆,从而写笔记保留。

    数组指针,顾名思义,是在说一个指针,这个指针是指向数组的。

    区别于指针数组

    int* p[5] = NULL;  //指针数组   基类型 int*
    int (*p)[5] = NULL;  //数组指针   基类型 int[5]
    

    数组指针实例

    int main()
    {
    	int arr[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
    	int (*px)[2];  //定义一个宽度是2的数组指针
    	px = (int (*)[2])arr;  //px是数组指针
    	printf("%d
    ", *(*px));  //打印结果是1,因为*px是数组,*(*px)是数组首元素
    	printf("%d
    ", *(*(px+0)+0));
    	printf("%d
    ", *(*(px+1)+1));  //打印结果是4,px+1移动8个字节,也就是2个int,即3的位置
    	printf("%d
    ", px[1][1]);  //打印结果是4
    	return 0;
    }
    

    小结

     *() 与 [ ] 是可以互换的,也就是说*(*(p+1)+2)相当于p[1][2]
    

    练习

    使用数组指针遍历一个一维数组。

  • 相关阅读:
    C#绘制矢量图
    VC6配置boost
    MapX特性分析
    BCG文档
    VC单实例运行
    MapInfo7.0序列号和许可文件
    Mapx的VC开发实践
    网页设计实训
    illustrator初学之绘图基础1
    Ai绘图基础2
  • 原文地址:https://www.cnblogs.com/flatcc/p/7487706.html
Copyright © 2011-2022 走看看