上午请教各位不定长度数组的生成问题,用各位大拿推荐的malloc函数做成了,但是在
求数组长度的时候出现问题了。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n=0;
scanf("%d",&n);
int i=0;
int *ret;
int L;
int l;
ret = (int*)malloc(n*sizeof(int));
for (i=0;i<=n-1;i++)
{
ret[i]=i+1;
printf("%d\n",ret[i]);
}
L=sizeof(ret)/sizeof(ret[0]);
printf("\n%d\n",L);
l=sizeof(*ret)/sizeof(ret[0]);
printf("\n%d\n",l);
}
求出来的L恒为2和l恒为1,并不是数组的真实长度,请问这是为什么?以及如何求出数
组的真实长度呢?谢谢
--
修改:sqsl FROM 111.193.234.*
FROM 111.193.232.*