免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2682 | 回复: 10
打印 上一主题 下一主题

指针数组 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-03 22:45 |只看该作者 |倒序浏览
要定义这个结构指针数组:

p -->  +-------------------+
.         |   int[10]的地址  
.         +-------------------+
.         |   int[10]的地址  
.         +-------------------+
.         |   int[10]的地址  
.         +-------------------+
.         |        n列            



c语言怎么写,这样?
int (*p)[10][n]   

这个好像是指向二维数组的指针了。。

论坛徽章:
0
2 [报告]
发表于 2008-08-03 22:49 |只看该作者
(int* [10]) *p[n]  ?

论坛徽章:
0
3 [报告]
发表于 2008-08-03 23:44 |只看该作者
我认为这样是可以的:
int p[n][10];
n行,每行10列

论坛徽章:
0
4 [报告]
发表于 2008-08-04 02:39 |只看该作者
typedef   int  Int10[10];

Int10   *p;

论坛徽章:
0
5 [报告]
发表于 2008-08-04 09:12 |只看该作者
原帖由 crowsy001 于 2008-8-3 23:44 发表
我认为这样是可以的:
int p[n][10];
n行,每行10列


每行不是10列,而是一个指向int[10]的地址。。

论坛徽章:
0
6 [报告]
发表于 2008-08-04 09:27 |只看该作者
原帖由 gtkmm 于 2008-8-4 02:39 发表
typedef   int  Int10[10];

Int10   *p;



Hi,我用你的方法测试了一下,结果为什么不对?
#include <stdio.h>

int main()
{
        typedef   int  IntX[3];
        IntX   *p[2];

        int array[2][3] = {
                {1,2,3},
                {4,5,6},
        };

        p[0] = &array[0];
        p[1] = &array[1];

        int (*item)[3];
        item = p[0];
        int i;
        for(i=0;i<3;i++){
                printf("%d\n",item[i]);
        }
}


打印出的是不可预期的值:
-1073823284
-1073823272
-1073823260

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2008-08-04 09:42 |只看该作者
木有看懂LZ的需求啊

论坛徽章:
0
8 [报告]
发表于 2008-08-04 09:43 |只看该作者
请使用无符号输出

论坛徽章:
0
9 [报告]
发表于 2008-08-04 09:59 |只看该作者
谢谢大家,我的问题解决了,4楼的做法是正确的。

6楼程序错误的,因为这里要这样写:
printf("%d\n",(*item)[i]);


[ 本帖最后由 maxxfire 于 2008-8-4 10:00 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2008-08-04 10:03 |只看该作者
原帖由 net_robber 于 2008-8-4 09:43 发表
请使用无符号输出


你的话总是言简意赅,但是经常听不懂你在说什么??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP