程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C/C++函數調用與函數返回值

C/C++函數調用與函數返回值

編輯:關於C++

函數參數與函數調用

1、函數調用的作用:

·用實參數向形式參數傳遞數據;

·為獲得數據參數及在函數體中聲明的變量分配存儲空間;

·中斷現行(調用)函數,把流程向被調用函數的入口處,開始執行被調函數。

當參數表為空時,表示該函數不從調用函數接受數據。

2、數值參數

傳值調用:形參只有在函數被調用時,才被分配內存區域,並一直保留到函數返回時被撤銷為止。形參和實參只是名字相同,各自占有各自的內存空間和生存周期,因此他並不能改變主調函數中的變量。

3、地址參數

傳址調用:傳送的是變量的地址,盡管主函數和被調函數各自在自己的變量上操作,但他們的地址是一樣,所以被調函數可以改變調用函數中變量的值。

返回指針的函數

在C語言中,函數的返回類型可以是除數組和函數以外的任何類型,包括返回一個指針類型的數據。

例子1:// 查找字符串中指定字符的原函數

extern char *strchr(char *str,char character)
{
while(*str!=character)
str++;
return(str);
}
··

注意... 與傳址調用不同,返回指針的函數是以傳值方式向調用函數返回數據的。因此不可用 自動變量的地址 作為返回值,因為這類變量在返回時將被撤銷。而全局變量又用不著返回地址。因此,返回的地址變量應是局部變量的或者動態的。

例子2://錯誤的 得到的是亂碼

char *strchr(char *str,char character)
{
char* substr;
substr[0]=str[0];
return substr;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved