引用作為函式引數的例子,有很多知識點。

2021-06-19 09:05:24 字數 641 閱讀 5190

#include "stdafx.h"

#include #include /*---線性單鏈表的儲存結構-----*/

typedef struct node

node,*list;

/*---定義結構體的初始化函式----*/

//--注意這裡的形參是實參的乙個引用,

//--即head是呼叫時()內變數的乙個別名。

void init(list &head)

int main(int argc, char* argv)

則執行結果

我們發現呼叫init()函式前後list1中的資料成員並沒有改變,這是因為,list1的值傳進函式中head中後,head被malloc函式的返回值覆蓋掉了,而head->next = null;修改的是新建立出來的node結構體內存塊,當init()函式呼叫完了head就被釋放了,而list1所指向內容沒有被修改,這就是輸出沒有變化的原因了,但引用就不一樣了,引用中,head是list1的乙個別名,這樣對head的修改同時也是對list1的修改,所以呼叫init()函式後輸出是有變化的。

C 引用作為函式引數

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

C 引用作為函式引數

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

C 引用作為函式引數

c c 入門教程 c 指標 上一節 下一節 分享到 qq空間 豆瓣 人人網 width 728 height 90 frameborder 0 marginwidth 0 marginheight 0 vspace 0 hspace 0 allowtransparency true scrollin...