僅作為參考、記錄
函式如果直接傳遞指標,如呼叫init_linklist(l)l的初始指向為null,對l進行賦值,l指標不在指向null,而是指向new linklist 後的位址,但是無法對傳入的實參進行修改,l仍然指向null
這裡指標的傳遞仍然為值傳遞
//初始化鍊錶
status init_linklist
(linklist *l)
解決無法對傳入的指標修改的問題使用引用可對傳入的實參進行修改
//使用引用可對傳入的實參進行修改
status init_linklist
(linklist *
&l)
返回修改後的指標型別
linklist init_linklist
(linklist *l)
完整**
//main函式
#include
typedef
int elemtype ;
typedef
bool status ;
#define ok true
#define error false
typedef
struct nodelinklist;
/** * 初始化
*/status init_linklist
(linklist *l)
/** *向單鏈表中插入資料
* @param l
* @param i i從1開始
* @param e
* @return
*/status insert_linklist
(linklist *
&l,int i, elemtype e)
//找到插入的位置
//單鏈表插入
//前插入
if(i==j)
else
return ok;
}void
print_linklist
(linklist *
&l)}
intmain()
else
std::cout <<
"hello, world!"
<< std::endl;
return0;
}
這位博主的解釋可能會比較清楚
參考:c語言指標作為函式引數傳遞學習(一)
引數傳遞(引用,指標,值傳遞)C 11
c 中,函式的引數傳遞方式有值傳遞 位址傳遞。傳位址有指標和引用方式。在函式引數中,傳位址的理由有 1.使被調函式可以修改主調函式中的資料物件 2.傳位址可以減少資料拷貝,提高程式執行速度。那麼,何時使用值傳遞,何時使用位址傳遞 指標和引用 下面是一些寫 時會遇到的一些情況 如果要傳入函式的資料物件...
c語言 函式 用指標傳遞引數 問題
問題1 你是把變數傳給了函式,還是把位址傳給了函式?例 include stdio.h include stdlib.h include string h void oxx char dest void oxx2 char dest intmain 同樣是傳了指標給函式,對指標進行了不同的操作 1 ...
C 函式引數 值傳遞與引用傳遞
以前我們在c語言中函式引數傳遞過程中,如果我們想要讓當a函式作用域中的變數經過b函式處理之後的數值仍然在a函式中生效,這個時候函式引數的傳遞時需要引用方式去傳遞,方式如下 include 函式引數為指標,通過修改指標裡面的內容達到對main中b變數的修改 void func int a int ma...