c – 从数组中检索多维数组
发布时间:2020-12-16 07:31:06 所属栏目:百科 来源:网络整理
导读:我现在正疯狂用C中的指针.我有以下两个多维数组: int num0[5][3] ={ {0,1,0},{1,1},{0,0}};int num1[5][3] ={ {1,0}}; 然后将它们打包到另一个数组中: int (*numbers[])[3] = { num0,num1 }; 如果我那么做: printf( "Result: %dn",numbers[0][2][2] );
我现在正疯狂用C中的指针.我有以下两个多维数组:
int num0[5][3] = { {0,1,0},{1,1},{0,0} }; int num1[5][3] = { {1,0} }; 然后将它们打包到另一个数组中: int (*numbers[])[3] = { num0,num1 }; 如果我那么做: printf( "Result: %dn",numbers[0][2][2] ); 我得到了预期的结果,在这种情况下结果:1. 但是,我想将数字[0]分配给另一个变量.所以在现代编程语言中,你可以做一些简单的事情: int newvar[5][3] = numbers[0]; printf( "Result: %dn",newvar[2][2] ); 即使我的指针知识有限,我知道这不会起作用(当然它不会).但是对于我的生活,我无法找出正确的语法来使它工作(更重要的是,了解为什么它的工作原理). 如果有人可以帮助我在这里,我真的很感激! 谢谢 解决方法
您不能在C中分配数组,使用memcpy复制数组:
memcpy(newvar,numbers[0],sizeof newvar); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |