• C语言指针重点


    指针

    指针与一维数组

    万能公式

    • p[i] = *(p+i) = (i+p) = i[p]
      &p[i] == &(
      (p+i))== p+i

    指针与二维数组

    传向二维数组,本质上是传递二维数组的第一行的指针
    二维数组万能公式: ((p+i)+j)=a[i][j]

    • 对于一维数组而言,array + i 是array[i]的地址
    • 二维数组--->本质上就是n行个的一维数组--->每个有m列的一维数组
    • 行指针:a+i = &a[i] 即指向一行的指针
    • 列指针:a[i] = *(a+i) = &a[i][0] 即指向一列的指针
      上述行指针与列指针的数值相同,但意义摆在那了,并不同。

    下面举一个例子:

    int a[3][4];
    a+1 则是行指针
    *a则是列指针 参考一维数组与指针万能公式

    a[1][0] 就是一个y[0]
    a[1][1] 就是一个y[1] <---y+1
    这个y就是一个普通的数组了
    二维数组中
    a[1]+1 ==>跨一行 行指针
    *(a+1)+1 ==>跨一列 列指针
    二维数组做形参:a[][2] 前一个可省,后一个不可省

    行指针

    定义形式:数据类型(指针名)[一维数组维数]
    eg.int (
    p)[4];
    p是行指针, *p+j则是列指针

    int *p[4];
    数组中每个元素都是个指针;

    传递任意维数的数组本质上就是传递指向数组中的第一个元素的指针变量!


    __EOF__

  • 本文作者: Tanگگ
  • 本文链接: https://www.cnblogs.com/Tan-code/p/16887556.html
  • 关于博主: A Qingdao University student
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    springcloud22:sentinal的使用
    vue3 吸顶搜索框在页面滚动时改变样式
    微信小程序控制元素显示隐藏
    ch32使用spi驱动vga
    Python使用EasyOCR库对行程码图片进行OCR文字识别介绍与实践
    勒索病毒趋势分析
    时序数据库选型
    107. 二叉树的层序遍历 II
    【C++】类型转换(dynamic_cast,const_cast,static_cast,reinterpret_cast)
    基于Android社区生鲜O2O订购系统设计与实现 毕业设计-附源码231443
  • 原文地址:https://www.cnblogs.com/Tan-code/p/16887556.html