c 指標和引用

2021-08-18 14:57:57 字數 823 閱讀 2128

在實際**中,經常需要獲取乙個或一些變數經過某個函式功能模組後的值,可以使用return返回變數或指標(將全域性變數帶入形參,在函式內部修改其值的方法顯然是行不通的,因為形參只是拷貝,也切記勿要返回區域性指標變數,因為函式退出後會銷毀該指標從而造成記憶體錯誤),當然,亦可以使用指標或引用帶入功能模組。在剛學習指標時,常常容易把指標*和引用&混在一起,因為它們均表示位址。這裡說明一下指標和引用的區別。

相同點

均是位址概念, 指標指向記憶體的位址;引用是某塊記憶體的別名

區別

聯絡

引用在語言內部用指標實現

說明

int m;

int &n = m;//n相當於m的別名(綽號),對n的任何操作就是對m的操作

舉例

#include 

#include

using

namespace

std;

void aa(vector

> *angle)

void bb(vector

> &angle)

int main(int argc, char *argv)

/* result:

* anglecmd 5 6

* anglecmd 11 15

* anglecmd 14 28

*/

C 指標和引用

在深入介紹之前我們首先來看一下指標和引用的定義 指標和引用的區別,然後分別針對指標和引用展開討論,深入細節為何有這些差異。指標和引用的定義,下面用通俗易懂的話來概述一下 而宣告指標是可以不指向任何物件,也正是因為這個原因,使用指標之前必須做判空操作,而引用就不必。其次,引用不可以改變指向,對乙個物件...

C 引用和指標

引用和指標看上去差不多,看上去差不多,其實男寶寶和女寶寶是不一樣的 用起來還是有一定差距。本人菜鳥僅將遇到的問題記錄備案,以便日後翻查 ptrfunc.h ifndef ptrfunc h define ptrfunc h typedef int func int,int struct aa end...

C 指標和引用

有了變數名,為什麼還需要乙個別名呢?c 之所以增加引用型別,主要是把它作為函式引數,以擴充函式傳遞資料的功能 到目前為止我們介紹過函式引數傳遞的兩種情況 1 將變數名作為實參和形參 這時傳給形參的是變數的值,傳遞是單向的 如果在執行函式期間形參的值發生變化,並不傳回給實參 因為在呼叫函式時,形參和實...