【发布时间】:2020-01-30 21:38:50
【问题描述】:
因此,作为初学者,指针是我新宣布的宿敌,但不幸的是,我觉得我必须将它们用于这项任务。
用户必须通过一个简单的scanf函数在main函数中定义数组的长度(该函数用于检查输入值的区间是否有效):
arraylength = input();
然后我用另一个先前声明的数组指针初始化数组,使用数组长度作为参数:
int *array = init_array (arraylength);
int* init_array(int arraylength)
{
int *array = (int*) malloc ((arraylength) * (sizeof (int));
return array;
}
我收到错误消息,并且我知道我以错误的方式使用 malloc。
但我很困惑,因为我找不到错误。语法对我来说很合适(那么我又是一个初学者)
我认为这要么与我如何错误地使用指针以及int arraylength 和int *array 的数据类型有关。
使用数据类型(将它们从指针更改为普通整数,反之亦然)只会随后产生更多警告和错误。
我们不允许使用任何
const 变量。
每个变量都必须在函数中声明。
【问题讨论】:
-
“我收到错误消息”。这应该很明显,但您应该提供确切的错误消息 - 编辑您的问题并将其直接粘贴。另外,请提供minimal verifiable example。