C-传递单个变量而不是数组



我在Microchip的PIC上遇到了一个问题,但我的问题更一般。这将帮助我检查这是来自我的代码还是来自MPLAB X的调试器的问题,后者有时有缺陷。

这是我的问题,假设我有这个功能:

int test( int *array )
{
int a = array[0];
return a;
}

现在,如果我想传递一个有效的数组,就没有问题了。但假设我想使用单个变量,而不是像这样的数组:

int main()
{
while(1)
{
int test_variable_1 = 8;
int test_variable_2 = test( &test_variable_1 );
}
return 0;
}

我没有使用数组,但对我来说,这应该像预期的那样工作,因为test_variable_1就像一个int大小的数组。

编辑问题:那么,是否可以将这样的单个变量(使用带&的指针(而不是实数数组传递到函数中?此外,这是一种好的/坏的做法吗?

提前谢谢,如果我不清楚,请毫不犹豫地告诉我。

祝你今天过得愉快!

Adrien

那么,是否可以将这样的单个变量(使用带&的指针(而不是实数数组传递到函数中?

是。事实上,C甚至不知道您传递了一个数组。有关详细信息,请参阅Do pointers support";数组式索引";?

此外,这是一种好的/坏的做法吗?

很好。尽管理想情况下,函数应该将项的数量作为传递的参数之一。

最新更新