【问题标题】:C++ - Is an array a pointer? [duplicate]C++ - 数组是指针吗? [复制]
【发布时间】:2011-07-08 17:21:08
【问题描述】:

可能重复:
C: differences between pointer and array

array 中的 C++pointer 吗?你能澄清一下吗?

谢谢。

【问题讨论】:

  • 这个问题不是精确重复的,因为它要求 C++ 并且 C++ 中的内容比 C 中的要多。

标签: c++ arrays pointers


【解决方案1】:

没有。但它可以在您需要时衰减为指针。

void foo1(char * c) {
}


int main() {
  char Foo[32];
  foo1(Foo); // Foo decays to a pointer
  char * s = Foo; // Foo decays to a pointer which is assigned to s
}

【讨论】:

    【解决方案2】:

    没有任何索引的数组名本身就是一个指针。

    int a[10];
    printf("%d\n",*a); // will print first value
    printf("%d\n",*(a+1) ); // will print second value
    

    【讨论】:

    • 不,不是,但它会自动转换为一个。这个问题被标记为 C++,C++ 有模板,替换模板时它确实很重要。
    • sizeof array 是数组的大小,而不是指针的大小。
    猜你喜欢
    • 2020-01-19
    • 2020-09-04
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多