C++ 中指向陣列的指標| D棧 - Delft Stack

文章推薦指數: 80 %
投票人數:10人

即使C++ 試圖用引用替換其某些用例,但指標仍然只是內建資料型別,可用於直接處理記憶體。

請注意,C 風格的陣列本質上是指向起始元素的指標,並且由於 ... reportthisad C++貼士 在C++中對連結串列進行排序 C++中的Getter和Setter C++中的PragmaOnce C++中的new關鍵字和無匹配的操作符錯誤 C++中的函子 C++繼承建構函式 C++轉義字元 修復C++中未定義的對main的引用錯誤-UndefinedReferencetomain reportthisad 貼士文章 C++貼士 C++中指向陣列的指標 在C++中使用指向陣列的指標交換不同陣列中的元素 在C++中使用陣列引用將二維陣列傳遞給一個函式 本文將介紹如何在C++中使用指向陣列的指標的多種方法。

在C++中使用指向陣列的指標交換不同陣列中的元素 指標是低階程式設計的核心元素之一。

即使C++試圖用引用替換其某些用例,但指標仍然只是內建資料型別,可用於直接處理記憶體。

請注意,C風格的陣列本質上是指向起始元素的指標,並且由於它具有固定大小,因此編譯器會在內部自動處理使用[]表示法的訪問。

在下面的示例程式碼中,我們實現了一個函式,該函式交換來自不同整數陣列的兩個元素。

注意,函式原型使用兩個int*指標來表示需要交換的元素。

指標使直接訪問給定元素的儲存位置成為可能,而不僅僅是修改元素的本地例項。

#include usingstd::cout; usingstd::endl; constexprintSIZE=4; voidswapArrayElements(int*e1,int*e2) { intz=*e1; *e1=*e2; *e2=z; } voidprintArray(int(&arr)[SIZE]) { for(constauto&item:arr){ cout< usingstd::cout; usingstd::endl; constexprintSIZE=4; voidswapArrayElements(int*arr1,inte1,int*arr2,inte2) { intz=*(arr1+e1); *(arr1+e1)=*(arr2+e2); *(arr2+e2)=z; } voidprintArray(int(&arr)[SIZE]) { for(constauto&item:arr){ cout< #include usingstd::cout; usingstd::endl; usingstd::setw; constexprintSIZE=4; voidMultiplyArrayByTwo(int(&arr)[SIZE][SIZE]) { for(auto&i:arr){ for(int&j:i) j*=2; } } voidprintArray(int(&arr)[SIZE][SIZE]){ for(auto&i:arr){ cout<



請為這篇文章評分?