新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C++堆棧、參數的傳遞與指針

        C++堆棧、參數的傳遞與指針

        作者: 時間:2016-12-01 來源:網絡 收藏
        //一。指針函數

        #include "stdafx.h"

        本文引用地址:http://www.104case.com/article/201612/324449.htm
        void fun1(int a,int b)
        {
        printf("%d %d",a,b);
        }
        int _tmain(int argc, _TCHAR* argv[])
        {
        void (*fun)(int x,int y);//void 是被指函數的返回值類型,int為被指函數的形參類型
        fun=fun1;
        fun(10,20);
        return 0;
        }

        二。參數的傳遞

        // 0224.cpp : 定義控制臺應用程序的入口點。
        //
        #include "stdafx.h"
        int a=3;
        int b=4;
        void fun(int &x,int &y)//這種情況是引用傳遞。即沒有在棧里開辟新的空間,交換了x,y的內存數據
        {//注意這兒&的意義不是取地址
        int tem;
        tem=x;
        x=y;
        y=tem;
        }
        void fun1(int x,int y)//這種情況時值傳遞,會開在棧里辟兩個空間x,y,會交換棧里的值而不會作用于堆
        {
        int tem;
        tem=x;
        x=y;
        y=tem;
        }
        void fun2(int *p1,int *p2)
        {
        int tem;
        tem=*p1;
        *p1=*p2;
        *p2=tem;
        }
        int _tmain(int argc, _TCHAR* argv[])
        {
        fun(a,b);
        printf("a=%d b=%d",a,b);
        fun1(a,b);
        printf("a=%d b=%d",a,b);
        fun2(&a,&b);//形參是指針實參為地址
        printf("a=%d b=%d",a,b);
        return 0;
        }


        關鍵詞: C++堆棧傳遞與指

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 礼泉县| 伊吾县| 溧水县| 富民县| 台前县| 石阡县| 修水县| 和平区| 高平市| 洪泽县| 开原市| 交口县| 邢台县| 中超| 志丹县| 布拖县| 连城县| 恩平市| 亳州市| 苍南县| 桓仁| 井研县| 凤阳县| 通辽市| 五指山市| 崇仁县| 阿拉尔市| 晋州市| 广东省| 中卫市| 静海县| 郎溪县| 阳春市| 旅游| 土默特左旗| 运城市| 花垣县| 咸丰县| 盐亭县| 大渡口区| 读书|