arrays - 我不明白为什么我的程序在数组的索引中要求指针
问题描述
我正在编写一个代码来查找 2 个数组的交集。使用 myi
和j
迭代器,IDE 要求我将它们转换为指针或其他东西。我特别收到了一个指向对象的错误。
我也无法真正理解何时以及如何使用指针。我知道它们是什么(有点),但我不明白什么时候使用它们。
void arrIntersect(int fArr, int sArr, int fArrElem, int sArrElem)
{
int i, j, k;
int largeArrElem = (fArrElem > sArrElem)?fArrElem:sArrElem;
int unionArr[largeArrElem];
for (i = 0; i < largeArrElem; i++)
{
for (j = 0; j < largeArrElem; j++)
{
if (fArr[i] == sArr[j]) //Here the i and j say pointer to object//
{
for (k = 0; k < largeArrElem; k++)
{
unionArr[k] = fArr[i]; //Here the i says pointer to object//
}
break;
}
break;
}
}
for (k = 0; k < largeArrElem; k++)
{
printf("%d, ", unionArr[k]);
}
}
解决方案
嗨,您的交集函数不正确。您必须减少 largArrElem 的大小,还必须减少 j 的大小。现在,对于数组的问题,您是否尝试使用 malloc 动态创建它们?另外,如果您这样做了您必须在参数中添加“ * ”,例如:
void arrIntersect(int *fArr, int *sArr, int fArrElem, int sArrElem)
推荐阅读
- python - 如何使用 GUI 连接后端 Python 代码
- css - 合并媒体查询
- c - elixir.bootlin 无法搜索 Linux 文件?
- python - 需要帮助作为函数 def 的初学者
- python - 如何检查某物是否在列表中的整数中
- spring - 如何暂停 Kafka 消费者的轮询行为?
- typescript - TypeScript:在关联类型的对象中插入“类型”字段
- java - 如何使用非 MVC HttpRequestHandlerServlet 处理请求映射和路径变量?
- windows - Windows 10 和计算机与主机名
- python - 了解python的多处理逻辑