【发布时间】:2021-11-27 04:13:43
【问题描述】:
我想创建一个函数fill_table 来动态填充表格。表的尾部n在main()函数中声明,
int n = 0;
float* *T;
void show_table(int n) {}
void fill_table(int n) {}
int main() {
printf(" Table dimension: ");
scanf("%d", &n);
fill_table(n);
show_table(n);
return 0;
}
我总是收到这个错误:
segmentation fault ./a.out
我尝试了这样的 mes 函数:
int n = 0;
float* *T=0;
void show_table(int n){
printf("Show Table: \n");
for (int i = 0; i < n; i++) {
printf("%f ", *(T + i));
}
}
void fill_table(int n) {
*T=(float*)calloc(n, sizeof(float));;
if (!T){
printf("Memoire not allowe\n");
exit(0);
} else {
for (int i = 0; i < n; i++) {
printf("\nT[%d]= ", i+1);
scanf("%f", (T + i));
}
}
}
【问题讨论】:
-
Oki,为什么我不能声明
float *T并在我的函数fill_table中赋值
标签: c segmentation-fault dynamic-memory-allocation