c - 如何将 memchr 与二维数组一起使用?

标签 c algorithm multidimensional-array find

我正在使用 Visual Studio 2008。

在 C++ 中,我可以使用 memchr 在一维数组中搜索元素。

char* pStart, char* pEnd;
 //find first available register
 char *pCur,*p1;
  pCur=p1=pStart;
 while(pCur<pEnd)
  {
    //find 0
    p1 = (char*)memchr(pCur,0x0,pEnd-pCur);
    pCur=p1;
  }

我有二维数组,例如整数数组[200][2]。

如何使用 memchr 找到这个数组中所有的 0 元素?

最佳答案

您根本不能在 int 数组上使用 memchr(),因为它们每个都大于一个字节。

此外,这看起来像是一道老派的 C 题;在 C++ 中,您可能应该考虑使用一些更高级的容器类型。

对于 C 答案,您可能只需要遍历数组并进行搜索,这是最直接的方法。

关于c - 如何将 memchr 与二维数组一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45816088/

相关文章:

c - 如何使用 GPLINK 在地址 04 处编译一个函数? (对于 PIC16)

c - 在两个项目之间同步单个c头文件

arrays - 确定大 O : Find 4 different numbers in array summing up to S

python - Numpy Polyfit 或 X 和 Y 多维数组的任何拟合

php - 更改多维数组列的顺序

java - SML、Java、C、Pascal 中的垃圾收集

c - 在 C 中实现 ceil()

algorithm - LZ4、Snappy、Zstandard 和 Deflate 等压缩算法的时间和空间复杂度

algorithm - 使用 N 路合并的时间复杂度

javascript - 将json多维转换为数组javascript