| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
跟大牛学C++学算法数据结构
共有 249 人关注过本帖
标题:【C语言讨论贴】关于指针指向二维数组
只看楼主 加入收藏
libaoquanccc
Rank: 2
等 级:论坛游民
帖 子:24
专家分:39
注 册:2019-1-5
结帖率:66.67%
  问题点数:0  回复次数:4   
【C语言讨论贴】关于指针指向二维数组
程序代码:
#include <stdio.h>
//定义指针变量
int * p = NULL;
int mian(){
    //定义并初始化数组
    int arr[3][4] = {
        {1,2,3,4},
        {5,6,7,8},
        {2,7,9,5},
    };
    p = * arr;
    /** 指针指向推导 **/
    /**
     *  p = arr => p = &arr[0]
     *  p = * arr => p = &(&arr[0][0])
     *
     *  =>表示“等价于”
   
*/
    return 0;
}

请问:我的推导是否表达正确的意思?现在还有点懵懵的状态。。。。
2019-01-12 11:27
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:114
帖 子:1818
专家分:7921
注 册:2015-3-19
  得分:0 
感觉有点偏差

知命以下无敌
2019-01-12 11:58
libaoquanccc
Rank: 2
等 级:论坛游民
帖 子:24
专家分:39
注 册:2019-1-5
  得分:0 
回复 2楼 林月儿
快来说说,正懵着呢。。。。
2019-01-12 12:08
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:775
专家分:772
注 册:2017-1-4
  得分:0 
回复 楼主 libaoquanccc
程序代码:

#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{
   
    int arr[3][4] =
    {
        {1,2,3,4},
        {5,6,7,8},
        {2,7,9,5},
    };
    int (*p)[4]=arr;//定义一个行指针,p指向arr数组的一行,初始化为指向第一行
    int *p1=*arr;//定义一个指针变量,指向二维数组的第一个元素,当价于int *p=&arr[0][0],二维数组首行的地址与二位数组第一个元素的地址相同
    return 0;
}
2019-01-12 12:11
libaoquanccc
Rank: 2
等 级:论坛游民
帖 子:24
专家分:39
注 册:2019-1-5
  得分:0 
回复 4楼 花脸
哦哦,也就是我定义的指针,指向了二维数组的第一个元素,arr[0][0]
2019-01-12 12:18







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051702 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved