動態宣告陣列後,使用指標與不使用指標所取出來的值怎麼會不一樣? |
答題得分者是:system72
|
membermember
一般會員 發表:1 回覆:2 積分:0 註冊:2007-02-01 發送簡訊給我 |
<textarea class="cpp" rows="10" cols="60" name="code">
// StringGrid->ColCount = 5
// "StringGrid" 與 "StringGrid1" 是不一樣的兩個元件 //程式碼片段一
int **p = cArrProject;
for( int iCol = 0 ; iCol < StringGrid->ColCount ; iCol )
{
for( int iRow = 0 ; iRow < 200 ; iRow )
{
StringGrid1->Cells[iCol][iRow 1] = *(*(p iRow) iCol); <= 使用指標
}
} //程式碼片段二
for( int iCol = 0 ; iCol < StringGrid->ColCount ; iCol )
{
for( int iRow = 0 ; iRow < 200 ; iRow )
{
StringGrid1->Cells[iCol][iRow 1] = iArrProject[iCol][iRow]; <= 不使用指標
}
}
</textarea> 兩段程式碼都是取出陣列中的值並打印在 StringGrid1 上
可是兩段程式碼所印出來的值卻不盡相同
使用指標所取出來的值和預期中的相同
不使用指標取值, 卻總是多出一行26
這是我的邏輯錯誤嗎? 還是有我沒注意到的地方呢? 附加檔內
p.jpg 使用指標所印出來的結果
np.jpg 不使用指標所印出來的結果
|
system72
中階會員 發表:15 回覆:114 積分:55 註冊:2005-08-17 發送簡訊給我 |
如果你說 使用指標正確, 那,我猜,也許 下面這改成 iArrProject[ iRow ] [iCol ]; 看看.
編輯記錄
system72 重新編輯於 2007-08-16 13:28:17, 註解 無‧
|
membermember
一般會員 發表:1 回覆:2 積分:0 註冊:2007-02-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |