我正在尝试创建一个指向double数组的指针数组。例如;
double[] mylist = new double[100];
fixed (double* p = mylist) { }
现在正如MSDN文档所述,这相当于p =& mylist [0]这只取第一个值,是否有可能在另一个数组中创建指向变量的指针数组?或者是只使用一个指针的做法?
提前感谢您的帮助
答案 0 :(得分:2)
数组元素位于连续的内存中,因此通常有一个指向第一个元素的指针并执行指针算术以获取其他元素。
答案 1 :(得分:0)
当你有一个指向向量的类型指针(或者更确切地说,向量中的第一个项)时,它就像在C / C ++中一样;您只需要单个指针,您可以将 作为单个项或用作基于零的数组;你仍然可以访问p[3]
,除了现在使用数组访问隐喻而不是,这就是应用“3 * the-item-size作为相对于p
的偏移量”。所以:
p[3] = 1.0;
很好。当然,请注意,如果你在外面意外地进行数组绑定,那么就会发生不好的事情。