Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组与memcmp的比较与元素对元素的比较_C_Performance_Loops_Memcmp - Fatal编程技术网

数组与memcmp的比较与元素对元素的比较

数组与memcmp的比较与元素对元素的比较,c,performance,loops,memcmp,C,Performance,Loops,Memcmp,哪种实现更好,为什么 使用for循环或memcmp()实现逐元素比较 int a[] = {1,2,3}; int b[] = {1,3,5}; memcmp(a, b, sizeof(int)*n) 或 (i=0;i

哪种实现更好,为什么

使用for循环或memcmp()实现逐元素比较

int a[] = {1,2,3};
int b[] = {1,3,5};

memcmp(a, b, sizeof(int)*n)

(i=0;i { 如果(a[i]==b[i]) { /*一些代码*/ } }
memcmp
速度更快:编译器通常会对其进行大量优化,以在cpu上使用特殊指令、循环展开以及为简单循环生成的代码(通常)不会使用的其他“高级”技术。但是,
memcmp
只能比较字节值;对于一个整数数组来说这很好,但对于一个对象数组来说(可能)不起作用。

什么是编程语言?
 for (i = 0; i < n ; i++)
    {
       if (a[i] == b[i])
        {
            /* some Code */
        }
    }