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