[問題] 請問有關陣列初始化的問題?

看板C_and_CPP作者 (千里之外)時間14年前 (2012/01/30 10:21), 編輯推噓3(3013)
留言16則, 12人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev-c 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 假設一陣列 int arr[5] = {0} ....可設定全部元素值都是0 是什麼原因?? 而int arr[5]={10}..為何不是全部都是10呢?? 如果要設定初始全部都是10...該如何設定??? 請多多指教.. 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.168.4.90

01/30 10:28, , 1F
arr[5]={10,10,10,10,10}
01/30 10:28, 1F

01/30 10:31, , 2F
原因:標準這麼規定的
01/30 10:31, 2F

01/30 11:37, , 3F
for(int i=1;i<=5;i++) arr[i]=10;
01/30 11:37, 3F

01/30 11:48, , 4F
樓上...
01/30 11:48, 4F

01/30 11:54, , 5F
是0~4,不是1~5
01/30 11:54, 5F

01/30 12:05, , 6F
其實3f是matlab...
01/30 12:05, 6F

01/30 12:16, , 7F
迴圈方式給值,gcc -O2開下去一樣很快。
01/30 12:16, 7F

01/30 12:23, , 8F
謝謝樓上各位解說..
01/30 12:23, 8F

01/30 12:40, , 9F
3樓寫的也不是matlab 語法吧
01/30 12:40, 9F

01/30 12:53, , 10F
看來是c的for語法+matlab的結構...
01/30 12:53, 10F

01/30 18:02, , 11F
memset?
01/30 18:02, 11F

01/30 18:31, , 12F
別用 memset 在這種用途上...他是byte-wise的
01/30 18:31, 12F

01/30 18:31, , 13F
例如int a[5];memset(a, 10, sizeof(a));
01/30 18:31, 13F

01/30 18:32, , 14F
會填成a[0]~a[4] = 0x0a0a0a0a
01/30 18:32, 14F

01/30 19:23, , 15F
vector<int> arr( 5, 10 ); //5 個 10
01/30 19:23, 15F

01/30 20:29, , 16F
其實是c + matlab= catlab ((逃 筆誤抱歉
01/30 20:29, 16F
文章代碼(AID): #1F9Vx6pN (C_and_CPP)