[問題] 關於C++ 陣列的位址問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++ 2010
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
關於陣列的位址為什麼會有重複
我宣告a[2][3] b[3][2] c[2][2] 這3個陣列
結果我發現a[2][3]這個數值會變的和c[1][1]一樣
我去查a[2][3]的位址 發現和c[1][1]變的一樣
不知道為什麼會發生這種情況
結果導致下面算出來的值都錯誤了
有人知道怎麼解決這種情況嗎
我這個是要計算2個矩陣相乘
a X b = c
我寫成這樣
int x,y,k;
for(x=1;x<=2;x++)
{
for(y=1;y<=2;y++)
{ c[x][y]=0;
for(k=1;k<=3;k++)
{
c[x][y]=c[x][y]+(*(*(a+x)+k))*(*(*(b+k)+y));
}
}
}
結果跑出來的結果是錯的
所以我去查每一個值
發現到開始跑x=2的那個迴圈的時候
a[2][3]就會變成和c[1][1]一樣 所以後面的值都錯了
不知道到底是哪裡出問題
請大家幫忙看一下 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.237.62
推
11/17 23:37, , 1F
11/17 23:37, 1F
→
11/17 23:48, , 2F
11/17 23:48, 2F
推
11/17 23:50, , 3F
11/17 23:50, 3F
→
11/18 11:10, , 4F
11/18 11:10, 4F
推
11/18 11:13, , 5F
11/18 11:13, 5F
推
11/18 11:21, , 6F
11/18 11:21, 6F
→
11/18 11:22, , 7F
11/18 11:22, 7F
→
11/18 11:46, , 8F
11/18 11:46, 8F
→
11/18 14:17, , 9F
11/18 14:17, 9F
推
11/18 17:01, , 10F
11/18 17:01, 10F
→
11/18 21:01, , 11F
11/18 21:01, 11F
→
11/18 21:05, , 12F
11/18 21:05, 12F
→
11/19 10:22, , 13F
11/19 10:22, 13F
推
11/21 15:20, , 14F
11/21 15:20, 14F