C 动态数组 和获取长度的问题

用calloc或malloc创建出来的指针,用sizeof去取,永远取到的是4,查过许多的资料后才知道那个4代表的是首地址的长度,那这里就有个问题了。创建可变数组只能用c... 用calloc或malloc创建出来的指针,用sizeof去取,永远取到的是4,查过许多的资料后才知道那个4代表的是首地址的长度,那这里就有个问题了。
创建可变数组只能用calloc 获取长度只能用sizeof,那我怎么去获取一个动态创建的数组???
展开
 我来答
yuantailing
2013-08-12 · TA获得超过2545个赞
知道小有建树答主
回答量:1167
采纳率:92%
帮助的人:658万
展开全部
这个没法知道,必须在调用calloc或malloc的时候记下来。
cdyzxy
2013-08-13 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3728万
展开全部
int n,*p;
scanf("%d",&n); p=(int *)malloc(n*sizeof(int));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友552a555
2013-08-12 · TA获得超过2259个赞
知道大有可为答主
回答量:2433
采纳率:22%
帮助的人:718万
展开全部
首地址前面4位存放的就是数组大小
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MEzcEM
2013-08-13 · 超过14用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:38.8万
展开全部
int* a= (int *)malloc(sizeof(int)*4);就创建了一个四个int型数据的数组,*a是第一个数*(a+1)是第二个数。。。。。,不就完了么?
追问
死的我当然知道,但我一个数组当参数传进一个方法里时,没有count 怎么去遍历它
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式