![]() |
1
6
你不能用双重索引(
因此,在我看来,最好的方法是使用一维数组手动建立索引。 简单地说:
在
编译器不太可能将其内联,而且它将非常紧凑。可能比使用更多内存和另一层间接寻址的“锯齿状数组”方法更快。 分配很简单:
如果要堆分配
是的,你需要
|
![]() |
2
0
在这里,您很不走运,因为在C中无法在
这是一个肮脏的小黑客,但它应该工作得很好。最酷的部分是,您可以简单地使用
当然,您可以更明确地如下所示:
这种方法的缺点是,您需要为
也许,这是更好的方法,因为它似乎对更多的人来说是可读的。 |
![]() |
3
0
使用灵活的阵列。用两个就可以了
如果不介意限制严格别名,可以使用灵活的数组和对
|
![]() |
4
0
继这一优秀职位之后: How do I work with dynamic multi-dimensional arrays in C? 阅读《JensGustedt邮报》并关注他的链接 variable length arrays (VLAs) 实际上有一种方法——我按照他的帖子写了一个小测试程序来验证:
和控制台:
我承认这很奇怪-我不知道这存在。。。 编辑-使用结构:
控制台输出:
有一个铸造警告,我没有时间来解决,但一个人可以实现这个想法-只是做干净。。。同样,这是一个POC,不是一个实际的程序 |