如何解决为什么我只能在C中使用malloc初始化大小为2的int数组?
#include <stdio.h>
#include<malloc.h>
int main()
{
int *a;
a=(int*)malloc(4*sizeof(int));
int i;
for (i=0; i<4; i++) {
a[i]=i;
}
int len = sizeof(a)/sizeof(int);
for (i=0; i<len; i++) {
printf("%d",a[i]);
}
free(a);
return 0;
}
我在编译器中运行了代码,但是len始终为2,但是我在第一个for循环中更改了值。 谁能告诉我哪里出了问题以及如何使用C中的malloc正确初始化int数组?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。