0
我有一個C程序,它採用一個數組作爲輸入,將保存爲3個不同的數組。例如:打印結構作爲函數參數傳遞
0 2 0
1 0 0
0 0 3
將被保存爲Elemenets = [2,1,3]
和coresponding值的座標,Rows = [1,2,3] Columns = [2,1,3]
在一個struct我創建。
輸入是這樣的:
首先我給所述陣列的尺寸,則非零值的陣列具有的數量,然後用它們的座標值。
當我給我的輸入,我嘗試打印與function print2d(struct arrayCollection the array)
陣列,但結構的數組似乎有錯誤的數字內存(內存地址?)。我認爲我做了錯誤的結構,當我通過它作爲參數的函數,但我找不到問題。我也試圖通過引用傳遞結構作爲指針,但我有相同的結果。
這是我program
我的IDE是Xcode和編譯器是蘋果LLVM編譯器4.1
我想我得到你說的,但是當我嘗試打印主要內的值的數組,當結構返回時,它的工作原理(只是說)。你能給我一個例子或者你的答案的第二部分是什麼意思嗎? (我的C知識不好:/) – ozmax 2013-05-12 18:07:55
@ozmax:「未定義的行爲」意味着它可能有效,但你不能指望它。 – 2013-05-12 18:29:51
@ozmax:您可以在這裏找到更多信息:http://en.wikipedia.org/wiki/C_dynamic_memory_allocation – 2013-05-12 18:32:35