[問題] array 的 大小宣告問題

看板C_and_CPP (C/C++)作者 (狐狸...)時間16年前 (2009/09/14 08:14), 編輯推噓5(506)
留言11則, 6人參與, 最新討論串1/1
我在程式中宣告 三個array unsigned char A[600][800][3]; unsigned char B[600][800][1]; unsigned char C[600][800][1]; 這樣的話程式會當在第三行 可是拿掉第三行或是C array變小就可以跑 請問這樣三個array宣告 有太大嗎? 占用記憶體有太多嗎? 是否有辦法宣告此三個array OS: vista IDE: CodeBlocks 感謝指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 76.170.74.39

09/14 08:18, , 1F
這array算小的了 char C[600][800][1]; 為什麼要用
09/14 08:18, 1F

09/14 08:18, , 2F
600*800*5=2.4M...宣告到全域去吧 stack可能不會夠
09/14 08:18, 2F

09/14 08:19, , 3F
stack大小是有限的 動態配置吧...
09/14 08:19, 3F

09/14 08:20, , 4F
"[1]" ? 有考慮到'\0'嗎?
09/14 08:20, 4F

09/14 09:53, , 5F
雖然[1]感覺有點多於, 不過看起來這記憶體是用來搞影像
09/14 09:53, 5F

09/14 09:54, , 6F
處理的, 應該不用考慮'\0':)
09/14 09:54, 6F

09/14 09:54, , 7F
另外, 的確stack要塞這麼大容易爆掉, 我記得VC的話好像
09/14 09:54, 7F

09/14 09:54, , 8F
stack大於4K就會發warning了?? 拉到全域或動態配致吧:)
09/14 09:54, 8F

09/14 10:42, , 9F
不好意思想請問 宣告到全域 他是配置在哪裡呢?
09/14 10:42, 9F

09/14 12:27, , 10F
data segment
09/14 12:27, 10F

09/14 17:43, , 11F
那大小多少呢??data segment
09/14 17:43, 11F
文章代碼(AID): #1AhOhX0- (C_and_CPP)
文章代碼(AID): #1AhOhX0- (C_and_CPP)