C 值傳遞 指標和引用的使用特點

2021-10-25 18:04:40 字數 440 閱讀 8001

如果函式傳參的目的僅僅是傳參而不是修改引數的值:

如果資料物件很小,比如是內建資料型別,或小型的struct,則使用值傳遞;

如果資料物件是陣列,則只能使用指標,並且將指標宣告為指向const的指標(const 

int*、int const*),保證指標所指向內容不會被修改;

如果資料物件是乙個比較大的struct,則應該使用const指標或者const引用,來防止引數傳遞時發生結構體的複製,導致程式效率下降;

如果資料物件時類物件,則使用const引用;

如果函式傳參的目的包括了修改傳入的引數的值:

如果資料物件是c++內建資料型別,則使用指標,這將增加**的可讀性(&x);

如果物件是陣列,則只能使用非const的指標;

如果資料物件是struct,則可以使用指標或引用;

如果資料物件是class,則使用引用。

C 值傳遞 指標傳遞和引用傳遞(C )

一 基本介紹 1 值傳遞 形參是實參的副本 複製 拷貝 形參值的改變不會影響實參的值,這種方式用的最多。2 指標傳遞 形參是指標型別,形參作指標運算後指向的就是實參,所以會影響實參的值,這種方式用的也很多。引數。這種方式用的也蠻多的。引用只是乙個別名 二 示例 1 值傳遞 1 include voi...

c 值傳遞 指標傳遞 引用傳遞

值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的 實參 形參 引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。指標傳遞 形參為指向實參位址的指標,當對形參的指向操作時,就相當於對實參本身進行的操作 引...

c 值傳遞,指標,引用使用總結

溫故而知新,每次重溫一遍知識點,都有新的見解。參考 首先需要了解程式的記憶體是如何分配的 c c 程式記憶體的各種變數儲存區域和各個區域詳解 棧區 stack 由編譯器自動分配與釋放,存放為執行時函式分配的區域性變數 函式引數 返回資料 返回位址等。其操作類似於資料結構中的棧。堆區 heap 一般由...