陣列不能被拷貝,所以不能作為函式返回值,所以採用函式返回指標或者引用代替
一,宣告乙個返回指標的函式
二,使用尾置返回型別
三,使用decltype
四,示例
//返回陣列的引用,並且該引用包含10個string型別
string (&func())[10];
//func()表示用func函式無需任何實參
//(&func())表示函式的返回結果就是個引用,
//(&func())[10]表示引用的物件是乙個維度為10的陣列
//string (&func())[10];表示陣列的元素是string物件
型別別名宣告
//型別別名宣告
typedef string arr[10];
arr& func();
//使用尾置返回型別
auto func() -> string(&) [10];
//使用decltype關鍵字
string str[10];
decltype(str) & func();
C 之返回陣列指標
陣列不能拷貝,所以函式不能返回陣列。但是函式可以返回陣列指標或者引用。定義乙個返回陣列的指標或引用比較麻煩,可以這樣簡化 typedef int arrt 10 arrt 表示含有10個整數的陣列 using arrt int 10 與上面一句等價 arrt func int i 返回乙個指向含有1...
返回陣列指標
如果我們想定義乙個返回陣列指標的函式,則陣列的維度必須跟在函式的名字之後,然而函式名字之後的是形參列表,所以形參列表應該在陣列的維度之前。返回陣列指標的函式形式如下所示 type function parameter list dimension 下面這個func函式的宣告沒有使用型別別名 int ...
c語言函式的陣列返回和指標返回
函式內的陣列和指標都是屬於函式棧空間。如果把陣列或指標返回給外部指標,會發生什麼?1先看看第一種,返回陣列 2看看返回指標的情況 include stdio.h char get c int main int argc,char const ar 這個陣列了,系統或者任務會主動的修改裡面的資料,導致...