c語言函式的陣列返回和指標返回

2021-09-18 02:31:21 字數 569 閱讀 5900

函式內的陣列和指標都是屬於函式棧空間。如果把陣列或指標返回給外部指標,會發生什麼?

1先看看第一種,返回陣列;

2看看返回指標的情況:

#include "stdio.h"

char * get_c()

int main(int argc, char const *ar**)

這個陣列了,系統或者任務會主動的修改裡面的資料,導致就算這個指標指向這個記憶體,值可能已經不是自己想要的了,也就是

乙個野指標吧。

c語言 返回指標的函式

1 返回本地變數的位址是危險的,一旦離開這個函式本地變數就不存在了 實驗 int f void 產生這種結果的原因 本地變數在函式結束後,雖然值還存在記憶體中,但是不再受保護會,被之後的變數覆蓋掉。2 返回全域性變數或靜態本地變數的位址是安全的 3 返回在函式內malloc的記憶體是安全的,但是容易...

C語言 返回指標的函式 指標函式

人之所以痛苦,那是因為你在成長。magic guo 函式可以返回整形 字串 實型值 無返回值 也可以返回指標型別的資料,即返回乙個記憶體位址,像這樣返回位址的函式成為指標函式。其概念與普通的函式一樣,只不過返回值的型別為指標型別。定義返回指標值的函式的一般形式為 型別名 函式名 引數列表 例如 in...

C 返回陣列指標

陣列不能被拷貝,所以不能作為函式返回值,所以採用函式返回指標或者引用代替 一,宣告乙個返回指標的函式 二,使用尾置返回型別 三,使用decltype 四,示例 返回陣列的引用,並且該引用包含10個string型別 string func 10 func 表示用func函式無需任何實參 func 表示...