[問題] new定義的array

看板C_and_CPP (C/C++)作者 (final)時間16年前 (2009/05/14 13:34), 編輯推噓5(5012)
留言17則, 5人參與, 最新討論串1/1
比如說有兩個array int c; int *a=new int[c]; int *b=new int[c]; for(i=0;i<c;i++) { a[i]=0; b[i]=0; } 我在跑for迴圈時 他會還沒跑完就停下來 程式也沒有結束 就停住了 請問這是碰到什麼問題? c大概3000多 但他只跑到900多就停住了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.9.189

05/14 13:37, , 1F
c 的值是什麼時候給的 ?
05/14 13:37, 1F

05/14 14:46, , 2F
你真的是用int嗎,也許你是用什麼很大的struct?
05/14 14:46, 2F

05/14 14:50, , 3F
請問c的初始值是什麼? 在哪一行給定初始值?
05/14 14:50, 3F

05/14 17:24, , 4F
我有抓文件檔 在抓檔的時候給的
05/14 17:24, 4F

05/14 17:26, , 5F
在這個迴圈之前有用c去跑的迴圈都沒有問題
05/14 17:26, 5F

05/14 17:31, , 6F
補充一下 在我的程式裡面的C是抓一行就+1 算抓幾行
05/14 17:31, 6F

05/14 17:34, , 7F
初始值設為1
05/14 17:34, 7F

05/14 17:35, , 8F
0
05/14 17:35, 8F

05/14 19:42, , 9F
那你的 a = new int[c]; 是在抓檔之前還是之後 ?
05/14 19:42, 9F

05/14 20:47, , 10F
是之前
05/14 20:47, 10F

05/14 21:33, , 11F
那麼那個時候的 c 值怎麼決定是多少?
05/14 21:33, 11F

05/14 21:34, , 12F
a = new int[c]; 配置多少是以執行到那邊的當下的 c 值而定
05/14 21:34, 12F

05/14 21:34, , 13F
之後 c 值的改變並不會讓 a 所配置到的空間跟著改變
05/14 21:34, 13F

05/14 22:06, , 14F
其實這個關於變數隨著存取而改變的觀念我以前曾有過
05/14 22:06, 14F

05/14 22:07, , 15F
我想那有點像是call by name或者Event的想法吧
05/14 22:07, 15F

05/14 22:08, , 16F
在任一存取點的修正都要發出signal通知其他元件更新物件
05/14 22:08, 16F

05/14 22:08, , 17F
現在想想 還真是胡來啊..
05/14 22:08, 17F
文章代碼(AID): #1A2wrQjD (C_and_CPP)
文章代碼(AID): #1A2wrQjD (C_and_CPP)