标题:malloc如何申请一个指向数组的指针.
只看楼主
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
结帖率:60%
已结贴  问题点数:20 回复次数:6 
malloc如何申请一个指向数组的指针.
比如说:我要申请一系列的点的坐标,x,y分别存在数组中.
而点的数目由指针给定.
即float (*p)[2];  //数组的维数是2,分别存放x,y
我想问一下,要申请10个点的指针,
用malloc如何弄?
搜索更多相关主题的帖子: malloc 指针 申请 
2010-05-18 00:35
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:6 
直接写
float (*p)[2];
if((p=malloc(10*2*sizeof(float)))!=NULL)
......

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2010-05-18 16:02
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
得分:0 
float (*p)[2];
if((p=malloc(10*2*sizeof(float)))!=NULL)

malloc前面的强制转化得怎么写呢?
谢谢。

2010-05-19 02:51
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
malloc前面不需要强制类型转换,谢谢

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2010-05-20 09:03
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
ANSI C之后的C就不需要对malloc的返回值进行转换了
但是C++偏偏有这种需要...

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2010-05-20 09:11
yc2575757
Rank: 7Rank: 7Rank: 7
来 自:北京
等 级:黑侠
威 望:1
帖 子:113
专家分:522
注 册:2010-5-7
得分:6 
malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针~~
2010-05-20 09:25
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
得分:6 
看看你的编译环境,如果提示错误的话,就自己强制加上一个就行了。Malloc是空类型,转为其他类型没问题的

做个有用的人!
2010-05-20 11:46



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




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

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