weixin_40993974 2017-11-30 14:09 采纳率: 100%
浏览 1263
已采纳

关于c语言中二维数组形参的问题

对于二维数组比如一个double number[m][n]
既然number 和number[0]的值都是number[0][0]的地址 那么这两者有什么区别呢
当我定义了一个函数 这个函数用来把一个二维数组的值copy到另一个二维数组 这个函数的形参为什么只能写double number[][n]而不能直接写double * number呢

  • 写回答

3条回答 默认 最新

  • 战在春秋 2017-11-30 22:04
    关注

    number 和 number[0] 虽然值相同,但它们分别表示的意义并不相同。

    number 是 二维数组第0行的行地址,number + i 指向不同行。
    number[0] 是 二维数组第0行第0列的元素地址,number[0] + i 指向具体的数组元素。
    

    要想使number也可以参加表示具体数组元素的地址,需要使用如下形式:

     *(number+i)+j  
    

    二维数组的行地址和元素地址是两个不同的概念,表示方法有很多种,实践中推荐您选择自己容易理解的形式。

    对于第二个问题,应该用 double** number,即二级指针对应二维数组。

    如果对您有帮助,请点击采纳答案好吗,谢谢~~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献