|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 给二维数组或多维数组分配内存, 该怎么写和应用?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
3459
人关注过本帖
标题:
给二维数组或多维数组分配内存, 该怎么写和应用?
只看楼主
加入收藏
yuantkong
等 级:
论坛游民
威 望:
3
帖 子:82
专家分:86
注 册:2016-5-17
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:12
给二维数组或多维数组分配内存, 该怎么写和应用?
int i,j;
int *p=NULL;
p=(int*)calloc(i,j*sizeof(int)); // 这样就可以分配一个 i*j 内存的整型二维数组吗?
实际测试好像不可以.
该怎么写?
2016-06-12 10:45
举报帖子
使用道具
赠送鲜花
grmmylbs
等 级:
贵宾
威 望:
54
帖 子:1409
专家分:5845
注 册:2016-2-14
第
2
楼
收藏
得分:5
这样应该可以啊,你是怎么测试的?
2016-06-12 11:09
举报帖子
使用道具
赠送鲜花
随风飘荡
等 级:
黑侠
威 望:
3
帖 子:208
专家分:598
注 册:2011-9-9
第
3
楼
收藏
得分:5
你这种写法是把一维当二维用。由于是一级单一指针管理,所以你用的时候不能p[i][j]的用。
需要自己计算偏移量,例如p[i][j] 需要写成 *(p + i*row + j)或是p[i*row+j]。
如果想模拟二维的下标使用那么就需要用指针数组要管理
2016-06-12 13:13
举报帖子
使用道具
赠送鲜花
yuantkong
等 级:
论坛游民
威 望:
3
帖 子:82
专家分:86
注 册:2016-5-17
第
4
楼
收藏
得分:0
回复 3楼 随风飘荡
输入数据可以用for循环输入*(p+i*row+j) 这样输入是吧
那有其他的方式进行二维数组分配内存吗?
2016-06-12 14:34
举报帖子
使用道具
赠送鲜花
随风飘荡
等 级:
黑侠
威 望:
3
帖 子:208
专家分:598
注 册:2011-9-9
第
5
楼
收藏
得分:0
指针数组或者二级指针,他们基本是一样的,思路就是每个指针
指向一行
。
程序代码:
int
*p[
5
];
for
(
int
i =
0
; i <
5
; i++ ) p[i] = malloc(
sizeof
(
int
)*
5
); p[
1
][
2
] =
65536
;
//
可以这样用
2016-06-12 16:20
举报帖子
使用道具
赠送鲜花
yuantkong
等 级:
论坛游民
威 望:
3
帖 子:82
专家分:86
注 册:2016-5-17
第
6
楼
收藏
得分:0
回复 5楼 随风飘荡
如果要动态输入, 该怎么写
不是无法输入,就是显示乱码.
for(i=0;i<row;i++)
for(j=0;j<col;j++)
scanf("%d", *p++);
for(i=0;i<row;i++)
for(j=0;j<col;j++)
printf("%d", *p++);
2016-06-13 09:44
举报帖子
使用道具
赠送鲜花
apiqqz
等 级:
论坛游民
威 望:
2
帖 子:56
专家分:25
注 册:2011-9-2
第
7
楼
收藏
得分:5
这个语句是在堆上分配一个线性的地址的i*j空间的,不是直接成数组的,需要放到数组里要自己写代码
2016-06-13 12:55
举报帖子
使用道具
赠送鲜花
yuantkong
等 级:
论坛游民
威 望:
3
帖 子:82
专家分:86
注 册:2016-5-17
第
8
楼
收藏
得分:0
回复 7楼 apiqqz
那该怎么写?
2016-06-13 15:24
举报帖子
使用道具
赠送鲜花
随风飘荡
等 级:
黑侠
威 望:
3
帖 子:208
专家分:598
注 册:2011-9-9
第
9
楼
收藏
得分:0
回复 6楼 yuantkong
你指的是怎么把一维数组当二维数组用还是怎么申请不定长的二维数组?
2016-06-14 15:33
举报帖子
使用道具
赠送鲜花
yuantkong
等 级:
论坛游民
威 望:
3
帖 子:82
专家分:86
注 册:2016-5-17
第
10
楼
收藏
得分:0
回复 9楼 随风飘荡
想要申请一个不定长的二维数组, 然后进行动态赋值
该怎么做?
分配后的内存地址该怎么赋值
2016-06-14 16:52
举报帖子
使用道具
赠送鲜花
13
1/2页
1
2
快速回复:
给二维数组或多维数组分配内存, 该怎么写和应用?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.033347 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved