gpt4 book ai didi

c - 使指针数组中的所有指针指向 C 中的同一事物?

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:16 26 4
gpt4 key购买 nike

我有这两个定义:

uint8_t *idx[0x100];
uint8_t raw[0x1000];

除了遍历 idx 的每个元素并将它们全部指向 raw[0] 之外,还有其他方法吗?

for (i=0; i<sizeof(raw); i++)
idx[i] = &raw[0];

一定有比 ↑ 更快的方法。有没有等同于 memset 的指针?

最佳答案

简单、直接的循环可能是最好的方法(请注意,正如其他人指出的那样,您当前的循环中存在错误)。

优点是这种循环很容易优化,这种情况很常见,编译器已经非常擅长它,您的编译器将根据需要使用 vector 指令和其他优化来保持它非常快,而不需要手动优化自己。当然,与手动优化相比,它更易读、更可维护。

当然如果有特殊情况,比如你想用空指针填充它,或者如果你知道编译时的内容是什么,那么有一些稍微更有效的方法可以做到这一点,但是在一般情况下,让编译器轻松优化代码是获得良好性能的最简单方法。

关于c - 使指针数组中的所有指针指向 C 中的同一事物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28882473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com