gpt4 book ai didi

c - 指针作为 C 函数中的参数

转载 作者:太空狗 更新时间:2023-10-29 14:55:11 25 4
gpt4 key购买 nike

在很多例子中,我读过一个简单的 getListLength() 函数看起来像这样:

int getListLength(struct node *head)
{
struct node *temp = head;
int iCount = 0;

while (temp)
{
++iCount;
temp = temp->next;
}

return iCount;
}

让我觉得不需要的是复制传递参数的局部指针(在本例中为 *temp)的声明。如果我没记错的话,传递的参数会获得自己的副本。因此,不需要一个本地指针来复制 *head 只是因为 *head 本身就是一个副本,对吧?换句话说,丢弃 *temp 指针并在所有地方使用 head 是否正确?

最佳答案

是的,它是一个副本,所以是的,它是正确的。

int getListLength(struct node* head)
{
int iCount = 0;

while (head)
{
++iCount;
head = head->next;
}
return iCount;
}

您为什么不执行它并亲自看看呢?

关于c - 指针作为 C 函数中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14176243/

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