【发布时间】:2012-11-04 07:57:17
【问题描述】:
我在使用 malloc 和 calloc 创建动态数组时遇到问题。
int main() { 浮动 *xd_real_send; int Nooflines_Real; 诠释*X; 浮动测试[500]; Nooflines_Real = count_lines(infile); printf("Nooflines_Real: %d\n", Nooflines_Real); X = (int *) malloc(Nooflines_Real*sizeof(int)); xd_real_send = (float *) calloc (Nooflines_Real,sizeof(float)); printf("X %d 的大小,测试 %d 和 xd_real_send 的大小 %d\n", sizeof(X)/sizeof(int),sizeof(test)/sizeof(float), sizeof(xd_real_send)/sizeof(float));fflush(stdout); }输出是
Nooflines_Real:40 X 2 的大小,测试 500 和 xd_real_send 2 的大小你能告诉我我做错了什么吗?
【问题讨论】:
-
不要转换
malloc或calloc的结果。 -
sizeof(X)是sizeof(int*)。 -
答案:stackoverflow.com/a/605858/694576@dreamcrash