1、通過使用指針,在函數(shù)調用時,傳遞帶有地址的參數(shù),并使用指針更改其值;這樣,修改后的值就會變成原始參數(shù)。
網(wǎng)站設計制作、做網(wǎng)站,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向近千家企業(yè)提供了,網(wǎng)站設計,網(wǎng)站制作,網(wǎng)絡營銷等服務!設計與技術結合,多年網(wǎng)站推廣經(jīng)驗,合理的價格為您打造企業(yè)品質網(wǎng)站。
2、通過使用指針返回結果為:
3、通過使用結構:因為結構是用戶定義的數(shù)據(jù)類型;可以定義一個包含兩個整數(shù)變量的結構,并將更大和更小的值存儲到這些變量中,然后使用該結構的值。
4、通過使用結構返回結果為:
5、通過使用數(shù)組,當一個數(shù)組作為參數(shù)傳遞時,基地址將傳遞給該函數(shù),因此無論對數(shù)組副本所做的任何更改,都會更改為原始數(shù)組。
6、通過使用數(shù)組返回結果為:
所謂返回值,函數(shù)才有,就類似于數(shù)學中的函數(shù)的概念f(x),其實跟數(shù)學概念一開始是一個意思,你傳入一個值x,經(jīng)過處理,然后返回處理的結果,處理的結果就叫做返回值。
就好像你拿原材料做衣服,需要拿材料到工廠里面加工,工廠就生產(chǎn)出衣服給你,衣服就是返回值。
這其實跟數(shù)學中函數(shù)的概念是一樣的。
當然不是所有函數(shù)都有返回值,如一些函數(shù)只要完成某些特定的功能即可,不需要返回特定的值給主函數(shù)。如C語言中的printf這個方法,有些時候只希望屏幕輸出一段加工過的文字,這就可以放在子函數(shù)中處理,而不需要將處理結果返回給主函數(shù)再處理,能夠節(jié)省代碼量。
又如一些多線程的函數(shù),很多都是沒有返回值。具體情況具體分析。。。
一個函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個變量。由于函數(shù)名變量通常用來把函數(shù)的處理結果數(shù)據(jù)返回給調用函數(shù),即遞歸調用,所以一般把函數(shù)名變量稱為返回值,函數(shù)的返回值類型是在定義函數(shù)時指定的。
函數(shù)可以有返回值,也可以沒有返回值。
1、沒有返回值的函數(shù):功能只是完成一個操作,應將返回值類型定義為void,函數(shù)體內可沒有return語句。
2、有返回值的函數(shù):函數(shù)的最后會有一個返回值return,可以用來獲取該函數(shù)執(zhí)行結果返回給該函數(shù),讓外部調用該函數(shù)的。
一個函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個變量。由于函數(shù)名變量通常用來把函數(shù)的處理結果數(shù)據(jù)返回給調用函數(shù),即遞歸調用,所以一般把函數(shù)名變量稱為返回值,函數(shù)的返回值類型是在定義函數(shù)時指定的。
擴展資料
C程序中的print函數(shù):
是這樣寫的:printf("%d\n",printf("%d",printf("%d",i)));
一共有三個printf函數(shù),我們可以使用一些代號來簡化這個printf函數(shù),如下:
代號A: printf("%d",printf("%d",i));
代號B: printf("%d",i)
則C程序代碼可以簡化為:printf("%d\n",A); 那么我們就先來求A。而A,又可以簡化為:printf("%d",B);那么就先來求B。
B是 printf("%d",i),打印出“123”,即在C語言運行結果中,你最先看到的是123。C語言printf函數(shù)的返回值是printf實際控制輸出的字符數(shù),那么打印的123 就是3個字符,因此printf("%d",i)返回的就是3,也就是B是3。
那么,A就可以寫為printf("%d",printf("%d",3));打印出3,即在運行結果中,你緊接著會看到3。
而打印出的3是1個字符,因此A就是1,那么printf("%d\n",A); 實際上就是printf("%d\n",1); 打印出1。
參考資料來源:百度百科-返回值
#includestdio.h
int func() {
return 10000;//這個函數(shù)返回了一個數(shù)字
}
void func1(int num) { printf("%d", num); }//這個函數(shù)接受一個數(shù)字并輸出
int main()
{
func1(func());//func1接受func返回的數(shù)字并輸出
return 0;
}
函數(shù)參數(shù)和
返回值
三種傳遞方式:值傳遞、指針傳遞和引用傳遞
引用與指針的比較
引用是
C++中的概念,初學者容易把引用和指針混淆一起。一下程序中,n
是m
的一個引用(
reference
),m
是被引用物(referent)。
int
m;
int
n
=
m;
n
相當于m
的別名(綽號),對n
的任何操作就是對m
的操作。所以n
既不是m
的拷貝,也不是指向m
的指針,其實n
就是m
它自己。
C++語言
中,函數(shù)的參數(shù)和返回值的傳遞方式有三種:值傳遞、指針傳遞和引用傳遞。
以下是“值傳遞”的示例程序。由于Func1
函數(shù)體內的x
是
外部變量
n
的一份拷貝,改變x
的值不會影響n,
所以n
的值仍然是0。
void
Func1(int
x)
{
x
=
x
+
10;
}
int
n
=
0;
Func1(n);
cout
“n
=
”
n
endl;
//
n
=
以下是“指針傳遞”的示例程序。由于Func2
函數(shù)體內的x
是指向外部變量n
的指針,改變該指針的內容將導致n的值改變,所以n
的值成為10。
void
Func2(int
*x)
{
(*
x)
=
(*
x)
+
10;
}
int
n
=
0;
Func2(n);
cout
“n
=
”
n
endl;
//
n
=
10
以下是“引用傳遞”的示例程序。由于Func3
函數(shù)體內的x
是外部變量n
的引用,x
和n
是同一個東西,改變x
等于改變n,所以n
的值成為10。
void
Func3(int
x)
{
x
=
x
+
10;
}
int
n
=
0;
Func3(n);
cout
“n
=
”
n
endl;
//
n
=
10
對比上述三個示例程序,會發(fā)現(xiàn)“引用傳遞”的性質象“指針傳遞”,而書寫方式象“值傳遞”。實際上“引用”可以做的任何事情“指針”也都能夠做,為什么還要“引用”這東西?
答案是“用適當?shù)墓ぞ咦銮∪缙浞值墓ぷ鳌薄?/p>
網(wǎng)頁題目:c語言值傳遞函數(shù)返回,c語言中函數(shù)返回
網(wǎng)頁鏈接:http://weahome.cn/article/dsshjsd.html