網路城邦
上一篇 回創作列表 下一篇   字體:
多維陣列該如何當作引數傳入函數呢?
2009/09/17 14:15:11瀏覽3474|回應0|推薦1

 

有時候我們要把多維陣列當作引數傳入函數該怎麼做?這類語法的問題其實很恐怖,因為根本不知道該怎麼查。

這類的語法如果懂得,將會大幅提升程式的結構性與穩定度,也可以使用Excel VBA來動態產生資料內容,如果懂得利用compiler來強制指定該筆資料放在某個特定位址,甚至可以使用各種儲存媒體,如sd card或動態載入來更新資料,希望下列範例可以有些幫助:

typedef struct {

    float min;

    float max;

} RANGE;

RANGE RngA [10][5]= {xxxxxx};

RANGE RngB [20][5]= {oooooo};

void FuncA( RANGE (*Rng)[5] )

{

    int idx1, idx2;

    Ooxxx

    Rng[idx1][idx2]=xo#&%$...

}

void main(void)

{

    FuncA(RngA);

}

上述寫法就可以了,那如果資料是固定值,存在flash就好了,想改成const,該怎麼寫呢?

RANGE const RngA [10][5]= {xxxxxx};

void FuncB( RANGE (const *Rng)[5] )

{

    Int idx1, idx2;

    Ooxxx

    Rng[idx1][idx2]=xo#&%$...

}

const與多維陣列的意義請參考我之前寫的一些文章……
( 心情隨筆心情日記 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=cchahacaptain&aid=3325539