void swap1(int p,int q)
-----
swap1(a,b);
-----
值傳遞傳遞的是實際引數的乙個副本
//指標傳遞,指標值
void swap2(int *p,int *q)
-----
swap2(&a,&b);
-----
值傳遞傳遞的是引數的位址,所以數值交換
//指標傳遞,指標
void swap3(int *p,int *q)
-----
swap3(&a,&b);
-----
指標的位址發生變化,但是值未變化
//引用傳遞
void swap4(int &p,int &q)
-----
swap4(a,b);
-----
值變化,對形參的操作等同於對實參的操作,即傳遞的不會是實參的副本,而就是實參
int f(char *string);
int f(char
string)
int
*pf(int )---------//返回值是int型的指標
int (*pf)(int)-----//pf是指向函式的指標,返回值是int
//函式指標陣列
void (*fun[256])(void);
fun[0] = function0;
……fun[255] = function
();
開銷較大;
參看:c和指標p130頁
直接或者間接的呼叫自身
數的階乘
//遞迴方法
long factorial(int n)
//迭代演算法
long factorial(int n)
return result;
}
-參看:(c和指標,p135) C語言基礎 7 函式
c語言裡可以採用分組的方式管理語句每個語句分組叫做乙個函式 多函式程式執行的模式 1.整個程式的執行時間被分成幾段,不同時間段被分配給不同的函式使用 2.所有時間段之間既不可以重疊也必須連續 3.如果函式a把一段時間分配給函式b使用則函式b在完成所有工作之後必須把後面的時間再還給函式a 如果函式a在...
C語言基礎 (7)函式
c語言裡可以採用分組方式管理語句,每個語句分組叫做乙個函式。1 整個程式的執行時間被分成幾段,不同時間段被分配給不同函式使用。2 所有時間段之間不能重疊,並且是連續的。3 如果函式a在工作過程中把一段分配給函式b使用則函式b完成工作後必須把後面的時間還給函式a。如果函式a在工作過程中把一段時間分配給...
C 程式語言讀書筆記 C7 函式
1.乙個函式的定義也就是乙個給出了函式體的函式宣告 2.inline描述符並不影響函式的語義 3.如果一區域性變數被宣告為static,那麼將只有乙個靜態分配的物件,它被用於在該函式的所有呼叫中表示這個變數。這個物件將只在執行執行緒第一次到達它的定義時初始化。4.將指標引數宣告為const,也就是告...