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

更新于:2020 年 2 月 11 日

125 次浏览

开始你的职业

通过完成课程获得认证

开始
广告