memcmp 和 memcpy使用

memcmp 和 memcpy使用

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio> 
using namespace std;

int main()
{
    typedef int Status[3];
    int a[3][3];

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            a[i][j] = i*3 + j + 1;
        }
    }
    
    Status &b = a[0];       //1 2 3
    Status &c = a[1];       //4 5 6
    Status &d = a[2];       //7 8 9
    //test memcmp  比较 b, c元素 1.b > c: 1 , 2.b == c: 0, 3.b < c: -1
    cout << memcmp(b, c, sizeof(c)) << endl;
    //test memcpy, 将 c数组元素都拷贝到d中 
    memcpy(&d, &c, sizeof(c));
    for (int i = 0; i < 3; i++) {
        cout << d[i] << " ";        
    }
for (int i = 0; i < 3; i++) { cout << a[2][i] << " "; //同时也改变了 a[2]这行数据 } //这两个函数,完成整块内存的比较和复制, 比循环比较和赋值要快 }

 

posted @ 2017-04-04 14:06 douzujun 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值