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

開啟您的 職業

完成課程並取得認證

開始著手
廣告