第七章 函式

2021-06-22 18:44:58 字數 1238 閱讀 7242

樂趣在於發現。程式設計最大的樂趣在於編寫自己的函式

使用c++函式步驟:

1.函式定義 

2.函式原型  

3.呼叫函式

函式分為兩類:有返回值和沒有返回值的函式。void函式表示沒有返回值

void funcitonname(parameterlist)

#include using namespace std;

double orange(double x); //函式原型, 返回double型別

int main()

double orange(double x)

函式指標:

1.獲取函式位址

2.宣告函式指標

3.使用函式指標來呼叫函式

double (*p)(int); //函式指標

注意,函式型別和返回型別必須與指標p一致,否則出錯,例如:

double orange(double); //乙個函式原型

int banana(int);//另乙個函式原型

double (*p)(int);

p = orange;//非法

p = banana;//非法

void person(int n, double (*p)(int)); //函式原型

指標呼叫函式:

double (*p)(int); //函式指標

double y = (*p)(5); //使用指標p

double y = p(5);

注意:p(5)等價於(*p)(5)

第一種:指標指向常量物件

第二種:指標本身宣告為常量

int banana = 20;

*p = 20;//非法

*p = &banana;//合法的

*p是const不能修改,p不是const可以指向別的變數

int banana = 20;

*p2 = 20;//合法

*p2 = &banana;//非法的

*p不是const可以修改值,p是const不能指向別的變數

當然也可是宣告指向const物件的const指標:

這裡p和*p都是const,都無法修改

第七章 函式

1.ansi c 允許函式原型的使用,函式宣告提供給編譯器和之後的呼叫函式返回值型別,引數型別和數量的資訊,而k c用單獨的列表給出引數的型別,編譯器只記住函式的返回值型別,但不儲存函式的引數數量和型別 2.沒有return語句的函式,隱式的返回 3.函式的原型可以單獨放於乙個標頭檔案中,一定要具有...

第七章 函式

1.千萬不要返回區域性物件的引用 理解返回引用至關重要的是 千萬不能返回區域性變數的引用。當函式執行完畢時,將釋放分配給區域性物件的儲存空間。此時,對區域性物件 的引用就會指向不確定的記憶體。考慮下面的程式 disaster function returns a reference to a loc...

第七章 函式

1.函式不能返回另乙個函式或者內建陣列型別,但是可以返回指向函式的指標,或指向陣列元素的指標 int foo bar 2.函式必須指定返回型別,至少也要void 3.c 是一種靜態強型別語言,每一次函式呼叫,編譯時都會檢查實參。4.如果形參具有非引用型別,則複製實參的值,對形參的修改不會影響實參的值...