程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 函數多個返回值(返回多個參數/局部變量)通過雙重指針來實現

函數多個返回值(返回多個參數/局部變量)通過雙重指針來實現

編輯:C++入門知識

測試用例:    

// DoublePTest.cpp : 定義控制台應用程序的入口點。  
//  
  
#include "stdafx.h"  
#include <stdlib.h>//malloc需要的頭文件  
#include "cstring"//memset需要的頭文件  
  
using namespace std;  
void Func(char** p)  
{  
    *p = (char*)malloc(3);  
    char* c = new char[3];  
    memset(c, 'a', 3);  
    //c[3]='\0';   //if there is open,below delete is wrong  
    memcpy(*p, c, 3);  
    delete c;  
    c=NULL;  
}  
int _tmain(int argc, _TCHAR* argv[])  
{  
    char *p = NULL;  
    Func(&p);  
    if(p)  
    {  
        char *sp =p;  
        int len= strlen(sp);  
        delete p;  
        p = NULL;  
    }  
    return 0;  
}  
  

 

這裡的測試代碼只是測試返回一個指針類型的變量,比如字符串或者是內存中的一塊buffer,當然返回一般的參數或者一般的局部變量的值通過引用就可以實現。 

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