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运算符实际上给出了指针的大小,而不是数组的大小。指针能力的这种损失称为“衰减”。