[問題] malloc動態分配矩陣

看板C_and_CPP作者 (LeoJ=Leo丁=柳丁)時間15年前 (2011/02/26 18:12), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
我想用malloc分配記憶體空間給矩陣 給矩陣值有的是全部都為零有的是random數值進去 程式碼如下: C = malloc(n * n * sizeof(double)); Ct = malloc(n * n * sizeof(double)); x0 = malloc(n * sizeof(double)); b = malloc(n * sizeof(double)); for (i = 0 ; i < n ; i++) { for (j = 0 ; j < n ; j++) { if (i == 0) { *(b + j) = 0.0; // generate matrix x temp = (double) random() / RAND_MAX; *(x0 + j) = temp; } // generate matrix C and Ct temp = (double) random() / RAND_MAX; *(C + (n * i + j)) = *(Ct + (n * j + i)) = temp; } } b是全部都是零的矩陣 x0是random值進去的矩陣 C是二維也是random值進去 但我print出來b都不是全部為零... 有一些項會不為零 拿掉random那一項好像可以 試了很多都找不到方法... 不知道到底是什麼問題 請版上高手指點迷津... 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 138.202.171.100

02/26 18:30, , 1F
光看這段沒問題, b 裡面都會是零沒錯
02/26 18:30, 1F

02/26 18:34, , 2F
溢位了吧
02/26 18:34, 2F

02/26 18:35, , 3F
x0溢出到b了
02/26 18:35, 3F

02/28 05:16, , 4F
樓上知道什麼是溢位嗎?
02/28 05:16, 4F

02/28 09:51, , 5F
我推錯了,不好意思
02/28 09:51, 5F
文章代碼(AID): #1DQD80Gl (C_and_CPP)