gpt4 book ai didi

c - 将数组分配给指针时,这些方法有什么区别

转载 作者:行者123 更新时间:2023-11-30 15:41:44 25 4
gpt4 key购买 nike

当我们需要将数组分配给指针时,我们会做类似的事情。

int numbers[] = {7,5,9,3};
int *ptr = NULL;
ptr = &numbers[0]; // <<

我们也可以通过这样做来做同样的事情。

int numbers[] = {7,5,9,3};
int *ptr = NULL;
ptr = numbers; // <<

两种方式有什么区别?
哪一个是推荐的?

最佳答案

这是同样的事情。表达式 a[i]*(a + i) 相同,因此 &a[i] 相同&*(a + i),其定义与 a + i 相同(甚至不评估取消引用)。对于i = 0,这意味着a&a[0]相同。数组的名称衰减为指向数组第一个元素的指针。

关于c - 将数组分配给指针时,这些方法有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20435460/

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