我什么时候使用和制作指针时

When do I use & when making a pointer

本文关键字:指针 什么时候      更新时间:2023-10-16

我理解是这样的:

    int foo = 5;
    int * fooPointer = &foo;

但我知道你也可以做这样的事情:

    int foo[5] = {32,12,4};
    int * fooPtr = food;

这很奇怪,因为当您使用 int 执行此操作时,您必须将 & 运算符放在 foo 之前,但如果它是一个数组,则不必这样做。你可以声明一个指针,然后说它是一个数组?

它不是一个列表;它是一个数组。

在大多数情况下,数组

名称的计算结果为数组第一个元素的地址,您可以将其分配给(或用于初始化)指向数组元素类型的指针。

有一些例外(将数组传递给sizeof或地址运算符(一元&),或通过引用传递数组,但这些都不适用于此处。