Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

問一個c++的小問題!!

0 views
Skip to first unread message

只是個廢人

unread,
Mar 23, 2002, 6:44:43 AM3/23/02
to


我想把一個二唯陣列丟進函數裡要怎麼宣告這個函數呀??

ex:

void main()
{

int a[10][10];
.
.

cout<<aaa( a )---->假設只傳入這個陣列
^^^^^
要怎麼寫??

}

int aaa( a )
^^^^^^
那這裡又要怎麼寫??
{

}


--
◎ [1;31m龍 [32m貓 [33m資 [34m訊 [35m天 [36m地 [0m( [1mbbs.mgt.ncu.edu.tw [0m)
◎[ [1;33;46mNUDE [0m]From: 61-225-192-211.HINET-IP.hinet.net

小豆豆

unread,
Mar 23, 2002, 11:02:44 AM3/23/02
to
※ 引述《NUDE...@bbs.mgt.ncu.edu.tw (只是個廢人)》之銘言:
> 我想把一個二唯陣列丟進函數裡要怎麼宣告這個函數呀??

簡單,用一個class或是struct包起來
struct p
{
char buf[10][10];
};
--
[1;32m┌───── [33m◆ [37mKKCITY [33m◆ [32m─────┐ [34m┐┌┐┐┌┐┌─┐┌┬┐┌┬┐┐ ┌ [m
[1;32m│ [31m bbs.kkcity.com.tw [32m│ [37m├┘┐├┘┐│ │ │ └┬┘ [m
[1;32m└── [34m《 [0;37mFrom:61.223.76.27 [1;34m》 [32m──┘ [36m┘ ┘┘ ┘└─┘└┴┘ ┴ ┴ [m

只是個廢人

unread,
Mar 24, 2002, 2:29:58 AM3/24/02
to
==> ll...@kkcity.com.tw (小豆豆) 提到:
: ※ 引述《NUDE...@bbs.mgt.ncu.edu.tw (只是個廢人)》之銘言:

: > 我想把一個二唯陣列丟進函數裡要怎麼宣告這個函數呀??
: 簡單,用一個class或是struct包起來
: struct p
: {
: char buf[10][10];
: };


這是我用來test的無聊程式,麻煩看看那裡有問題,
它沒辦法運做!!我用vc++跑的!!

#include <iostream.h>
void aaa(int**b)
{

b[0][1] = 0;

}

void main()
{

int a[2][2] = {{0,1},{2,3}};

cout<<a<<endl;

cout<<&a[0][0]<<endl;

aaa(a);

cout<<a[0][0]<<endl;

}

--
◎ [1;31m龍 [32m貓 [33m資 [34m訊 [35m天 [36m地 [0m( [1mbbs.mgt.ncu.edu.tw [0m)

◎[ [1;33;46mNUDE [0m]From: 61-225-197-81.HINET-IP.hinet.net

娜娜最可愛!

unread,
Mar 24, 2002, 2:53:58 AM3/24/02
to
※ 引述《NUDE...@bbs.mgt.ncu.edu.tw (只是個廢人)》之銘言:
> #include <iostream.h>
> void aaa(int**b)

這行改成 void aaa ( int b[][2] )

> {
> b[0][1] = 0;
> }

原因是因為 b[2][2] 事實上是一塊 size 為 4 * sizeof(int)
的"連續"的記憶體, 當你要 b[0][1] 時, compiler 會幫你"算"出他的位址,
(試著自己算算看 ^_^, 不會很難的)
這也是為什麼除了第一維的大小外其它都要註明在 function prototype 的原因
( int b[][2], b 後的 [] 是第一維, [2] 是第二維 )
但這和 int ** b 意義上是完全不同的,
雖然在一維陣列可以通用, 但二維的 int ** b 所弄出來的陣列
一來不一定要連續, 二來他的第二維也不用同樣大小,
更不要說你沒把第二維後的大小給 function, 他不知道該怎麼算位址了

ps: 何不在 C/C++ 板或是 Programming 板問呢? :) 這問題和 OO 無關吧? :D
--
[0m [1;33m※ Origin: [36mYahoo!奇摩 大摩域 [37m<telnet://bbs.kimo.com.tw> [m
[1;35m◆ From: [1;32m67.233.44.145 [m

0 new messages