搜尋此網誌

[C/C++][回傳陣列]

/*
* Author: MH
* Since 2014/09/30
* Toolkit: Code::Block 13.12
*/

#include <iostream>

using namespace std;

int *returnArray() {

    static int ra[5];

    int arrayIndex;
    for ( arrayIndex=0; arrayIndex<5; arrayIndex++ ) {
        ra[arrayIndex] = arrayIndex;
    }

    return ra;
}

int main()
{
    int *getArray = returnArray();
    int ii;

    for (ii=0; ii<5; ii++) {
        cout << *(getArray+ii) << endl;
    }

    return 0;
}

2 則留言:

  1. 回覆
    1. 一開始在returnArray宣告ra後,要保留ra直到程式結束,不然returnArray在執行完後,ra就消失了,getArray會不知道指到哪裡,不然就放在最外面當全域變數

      刪除