最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++函數(shù)三種傳參形式(指針傳遞、引用傳遞、值傳遞)

 更新時(shí)間:2024年03月19日 10:07:22   作者:學(xué)不會(huì)2233  
不論是哪種參數(shù)傳遞方式,都有形參和實(shí)參之分,本文主要介紹了C++函數(shù)三種傳參形式(指針傳遞、引用傳遞、值傳遞),具有一定的參考價(jià)值,感興趣的可以了解一下

前言

不論是哪種參數(shù)傳遞方式,都有形參和實(shí)參之分,都會(huì)在調(diào)用函數(shù)時(shí)進(jìn)行一次復(fù)制,將實(shí)參的值賦予形參。對于值傳遞,實(shí)參形參概念較好區(qū)分,但對于地址傳遞,形參實(shí)參指向的地址相同,可能會(huì)產(chǎn)生操作的是同一變量的想法,實(shí)則不然。(這也是理解二級指針作用的核心知識(shí)點(diǎn))

指針傳遞

變量形式、函數(shù)原型及對應(yīng)傳參形式:

  • 變量:int a = 0; int *b = 0;
  • 函數(shù)原型:void func(int *arg);
  • 傳參形式:func(&a); func(b);

解釋:

函數(shù)得參數(shù)類型是int指針類型,接受的參數(shù)的一個(gè)地址。因此,對于普通變量a,需要先用&符號取地址后傳入,故傳入&a。對于指針b,指針就是地址,因此直接傳入b即可。

#include <iostream>
using namespace std;
void exchange(int *a, int *b)
{
	int temp;
	temp = *a;
	*a = *b;
	*b = temp;
}
 
int main()
{
	int x, y;
	cin >> x >> y;
	exchange(&x, &y);
	cout << x << y;
}

引用傳遞

最復(fù)雜的是引用傳遞。此次只講解最基礎(chǔ)簡單的使用。

變量形式、函數(shù)原型及對于傳參形式:

  • 變量:int a = 0; int *b = 0;
  • 函數(shù)原型:void func(int &arg);
  • 傳參形式:func(a); func(b);func(*b)

解釋:

函數(shù)的參數(shù)類型是引用類型。對于變量a,直接傳入a。對于指針b,可以選擇傳入地址b或者傳入b指向的值*b。

區(qū)別:待定

引用的本質(zhì):待定

#include <iostream>
using namespace std;
void exchange(int &a, int &b)
{
	int temp;
	temp = a;
	a = b;
	b = temp;
}
 
int main()
{
	int x, y;
	cin >> x >> y;
	exchange(x, y);
	cout << x << " " << y;
}

值傳遞

變量形式、函數(shù)原型及對應(yīng)傳參形式:

  • 變量:int a = 0; int *b = 0;
  • 函數(shù)原型:void func(int arg);
  • 傳參形式:func(a); func(*b);

解釋:

函數(shù)的參數(shù)類型是int類型,接收的值是int型變量的值。因此,對于變量a,本身就是int型變量,故直接傳入。對于指針變量b,是需要用*符號進(jìn)行解引用獲取指針指向的值,故傳入*b。

#include <iostream>
using namespace std;
void exchange(int a, int b)
{
	int temp;
	temp = a;
	a = b;
	b = temp;
}
 
int main()
{
	int x, y;
	cin >> x >> y;
	exchange(x, y);
	cout << x << " " << y;
}

總結(jié):

1.引用傳遞和值傳遞都是傳地址,可理解為實(shí)參和形參的內(nèi)存地址相同,在函數(shù)中的賦值操作在函數(shù)結(jié)束后仍會(huì)保留(只要被賦值的變量仍存在)。而值傳遞傳入的是實(shí)參的值,調(diào)用函數(shù)時(shí)會(huì)進(jìn)行拷貝操作將實(shí)參的值賦予形參,實(shí)參和形參的地址不同,因此在函數(shù)體內(nèi)對形參的賦值操作不會(huì)改變實(shí)參的值。

到此這篇關(guān)于C++函數(shù)三種傳參形式(指針傳遞、引用傳遞、值傳遞)的文章就介紹到這了,更多相關(guān)C++函數(shù)傳參內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • VC中使用ADO開發(fā)數(shù)據(jù)庫應(yīng)用程序簡明教程

    VC中使用ADO開發(fā)數(shù)據(jù)庫應(yīng)用程序簡明教程

    這篇文章主要介紹了VC中使用ADO開發(fā)數(shù)據(jù)庫應(yīng)用程序的方法,結(jié)合實(shí)例形式詳細(xì)講述了ADO的原理及VC使用ADO開發(fā)數(shù)據(jù)庫應(yīng)用程序的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • C語言實(shí)現(xiàn)貪吃蛇游戲演示

    C語言實(shí)現(xiàn)貪吃蛇游戲演示

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)貪吃蛇游戲演示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C語言實(shí)現(xiàn)反彈球消磚塊游戲

    C語言實(shí)現(xiàn)反彈球消磚塊游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)反彈球消磚塊游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++?折疊參數(shù)包詳解(悄然增強(qiáng)編程效率)

    C++?折疊參數(shù)包詳解(悄然增強(qiáng)編程效率)

    折疊參數(shù)就是一個(gè)參數(shù)包, 代表是多個(gè)未知,tuple元組就是一個(gè)折疊參數(shù)的使用,這篇文章主要介紹了C++?折疊參數(shù)包悄然增強(qiáng)編程效率,需要的朋友可以參考下
    2023-05-05
  • c++中new和delete操作符用法

    c++中new和delete操作符用法

    c++中new和delete運(yùn)算符是用于動(dòng)態(tài)分配和撤銷內(nèi)存的運(yùn)算符,下面是示例,大家參考使用吧
    2014-04-04
  • C程序結(jié)構(gòu)的入門

    C程序結(jié)構(gòu)的入門

    在我們學(xué)習(xí) C 語言的基本構(gòu)建塊之前,讓我們先來看看一個(gè)最小的 C 程序結(jié)構(gòu),在接下來的章節(jié)中可以以此作為參考
    2021-06-06
  • C++11 尾隨返回類型的實(shí)現(xiàn)示例

    C++11 尾隨返回類型的實(shí)現(xiàn)示例

    C++11?引入的尾隨返回類型是一個(gè)強(qiáng)大的特性,它為開發(fā)者提供了更加靈活和清晰的方式來聲明函數(shù)的返回類型,下面就來介紹一下尾隨返回類型,感興趣的可以了解一下
    2025-06-06
  • c語言打印輸出雙引號的方法示例

    c語言打印輸出雙引號的方法示例

    這篇文章主要介紹了c語言打印輸出雙引號的方法,大家參考使用吧
    2013-11-11
  • C/C++ Qt 自定義Dialog對話框組件應(yīng)用案例詳解

    C/C++ Qt 自定義Dialog對話框組件應(yīng)用案例詳解

    有時(shí)候我們需要一次性修改多個(gè)數(shù)據(jù),使用默認(rèn)的模態(tài)對話框似乎不太夠用,此時(shí)我們需要自己創(chuàng)建一個(gè)自定義對話框。這篇文章主要介紹了Qt自定義Dialog對話框組件的應(yīng)用,感興趣的同學(xué)可以學(xué)習(xí)一下
    2021-11-11
  • Mac OS上搭建Apache+PHP+MySQL開發(fā)環(huán)境的詳細(xì)教程

    Mac OS上搭建Apache+PHP+MySQL開發(fā)環(huán)境的詳細(xì)教程

    這篇文章主要介紹了Mac OS上搭建Apache+PHP+MySQL開發(fā)環(huán)境的詳細(xì)教程,包括常見的PHP連接MySQL失敗問題的解決辦法,需要的朋友可以參考下
    2016-01-01

最新評論

岳池县| 西乡县| 仙游县| 宁陕县| 游戏| 永康市| 将乐县| 新民市| 壶关县| 平安县| 新田县| 乳山市| 丹阳市| 阜平县| 富平县| 工布江达县| 威信县| 保亭| 杂多县| 丹凤县| 青岛市| 彰武县| 尼玛县| 遂平县| 廊坊市| 杂多县| 修水县| 巴彦淖尔市| 准格尔旗| 罗江县| 四子王旗| 巴青县| 长海县| 平武县| 东乡| 东兰县| 嘉鱼县| 壶关县| 湖南省| 隆昌县| 阿拉善盟|