gpt4 book ai didi

c - C中的自由指针是什么?

转载 作者:行者123 更新时间:2023-11-30 19:55:58 25 4
gpt4 key购买 nike

我了解到在 C 中声明数组有两种方法:

int array[] = {1,2,3};

和:

int* arr = malloc(3*sizeof(int));

为什么 arr 被称为自由指针?为什么我不能更改数组中包含的地址,而我可以使用数组来更改地址?

最佳答案

正如评论中所说,您从错误的来源学到了一些不正确的东西。

在第二种情况下,arr 不是数组,而是指针。一个指针(如果分配成功)恰好包含可以容纳三个 int 的内存块的地址,但这不是一个数组。

这种困惑可能来自于数组在某些上下文中“衰减”为指针的事实,但这并不意味着它们是等价的。

关于c - C中的自由指针是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45192988/

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