gpt4 book ai didi

C 在函数中比较数组元素

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:42 24 4
gpt4 key购买 nike

这可能是一个非常基本的问题,但我对如何实现这样的问题感到困惑。

对于我正在学习 C 的类(class),我需要使用两个长度可以不同的数组,并在一个单独的函数中比较它们的元素。 (此函数仅将数组作为参数,而不是它们的大小)我需要将两个数组中的任何元素放入另一个数组并返回该数组(注意:每个数组就像一个集合,因为没有元素在同一个数组中重复).我研究了如何实现这一点,下面是我遇到的一些问题。

  1. 我怎么知道数组的末尾在哪里?

    我想我看到我可以将 {0} 作为空元素数组中的一个元素。如果这是真的,我不知道要将此元素与什么进行比较以检查是否为 null。

  2. 我想我应该将指针传递给数组的第一个元素,因为我认为 C 不会让数组的值被传递,但有点不确定。

    如果我将数组作为指针传递,我如何访问数组元素以获取它们的数据?

  3. 返回数组给main函数时,如何在不清理内存的情况下返回结果函数?

    我应该将生成的数组设为全局数组,还是有更好的处理方式?

提前致谢。

最佳答案

你的问题有点含糊。看起来您想在有两个集合的地方实现集合交集,用数组表示,输出是另一个实现为数组的数组。

<强>1。我如何知道数组的末尾在哪里?

在 C 中,没有办法分辨。如果您不能将长度作为函数传递,那么您将无法获得可靠的解决方案。它需要类似于#2。

<强>2。我想我看到我可以将 {0} 作为 null 元素的数组。如果这是真的,我不知道我会怎样 将此元素与 进行比较以检查是否为空。

您可以添加一个空字符,它只是值 0。要检查,您需要与 0 进行比较。我不知道每个数组元素由什么组成,但要注意的一件事是这些值不再允许为零,因为它被保留为数组标记的结尾。

<强>3。我想我应该将指针传递给 array 因为我不认为 C 会让数组的值是 通过了,但有点不确定。

是的。您将传递指向第一个元素的指针,这在 C 中是数组符号。

int A[10]; // pass A

<强>4。如果我确实将数组作为指针传递,我该如何访问这些数组 元素来获取他们的数据?

假设您传递了指针 A,您可以通过简单的索引访问元素 A[i],以获取元素 i。

<强>5。返回数组给main函数时,如何在不清理内存的情况下返回结果函数?

在您正在编写的函数中,您可以malloc 一个数组并将指针传递给由malloc 创建的数组。当函数退出时,Malloce 的内存不会被删除。

关于C 在函数中比较数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14968683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com