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 次瀏覽

開始你的職業

透過完成課程獲得認證

開始
廣告