标题:帮忙看看为什么不能这么用呢,关于二维数组。
只看楼主
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
结帖率:26.67%
已结贴  问题点数:20 回复次数:7 
帮忙看看为什么不能这么用呢,关于二维数组。
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
void printf_shuzu(int **shuzu)
{
    printf("%d",shuzu[0][1]);
}
void main()
{
    int node[12][2]={
        {1,2},{2,1},
        {1,3},{3,1},
        {2,3},{3,2},
        {2,4},{4,2},
        {3,5},{5,3},
        {4,5},{5,4}};
   
        printf_shuzu((int **)node);
    system("pause");
}
搜索更多相关主题的帖子: system include void 
2012-02-04 17:10
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:5 
你这么用吧。
void printf_shuzu(int shuzu[][2])
 

重剑无锋,大巧不工
2012-02-04 17:39
Immortal
Rank: 2
等 级:论坛游民
帖 子:12
专家分:31
注 册:2012-2-4
得分:5 
printf("%d",*(shuzu+1));二维数组不能那么用!
收到的鲜花
  • 爱德华2012-02-05 14:10 送鲜花  5朵   附言:我很赞同
2012-02-04 18:02
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
得分:0 
回复 2楼 beyondyf
确实,这么用是对的,但是为什么不能像我那么用呢?
2012-02-04 18:22
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
得分:5 
以下是引用fenghelong在2012-2-4 18:22:54的发言:

确实,这么用是对的,但是为什么不能像我那么用呢?
因为编译器对int**, int[][n], int(*p)[n]这3个对象类型的寻址是不同的处理方法

技术问题,请不要以短消息方式提问
2012-02-04 19:15
爱德华
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:183
专家分:536
注 册:2011-5-29
得分:0 
来这里看看吧~
http://www.

算法,数据结构,windows核心编程.
2012-02-05 13:16
爱德华
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:183
专家分:536
注 册:2011-5-29
得分:5 
一维里面指针,数组随便转化,没变化.
二维里面要注意:
a【】【】 与(*a)【】中的a均为 指向数组的指针,可通用

**a 与 *a【】 中的a均为  指向指针的指针,可通用

算法,数据结构,windows核心编程.
2012-02-05 14:04
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
得分:0 
回复 7楼 爱德华
说的很好。
2012-02-05 15:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-360396-1-1.html




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

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