C/C++ 中数组衰减是什么?


数组和指针在 C/C++ 中工作方式非常相似。但还是有一些细微的差异。例如,sizeof 运算符对这两者的工作方式截然不同。当您将数组转换成指针时,

示例

#include<iostream>

int main() {
   const int a[] = { 2, 3, 5, 7, 11 };
   const int* p = a;
   std::cout << ( sizeof(p) != sizeof(a) );
}

输出

此示例输出如下 −

1

指针上的 sizeof 运算符实际给出的是指针的大小,而不是数组的大小。指针丢失这种功能称为“衰减”。

更新时间: 11-Feb-2020

125 次浏览

开启您的 职业

完成课程并取得认证

开始着手
广告