http://www.cnblogs.com/cxz2009/archive/2010/11/11/1875125.html

可以通过memcmp()来比较2个相同的结构体变量,但这2个变量必须在赋值前进行清零初始化(否则结果不准确) ,或者2者是通过直接对等赋值而来。

另外,结构体的命名对memcmp()没有影响(只要内部结构完全一样)。

#include#include#includestruct CmpTest

{

char a;

short b;

int c;

char d;

};

struct CmpTest1

{

char a;

short b;

int c;

char d;

};

int main()

{

CmpTest t1;

CmpTest1 t2;

printf("%d\t",memcmp(&t1, &t2, sizeof(CmpTest)));

CmpTest t3;

CmpTest1 t4;

memset(&t3, 0, sizeof(CmpTest));

memset(&t4, 0, sizeof(CmpTest));

printf("%d\n",memcmp(&t3, &t4, sizeof(CmpTest)));

t1.a = 'a';

t1.b = 1;

t1.c = 123456;

t1.d = 'a';

t2.a = 'a';

t2.b = 1;

t2.c = 123456;

t2.d = 'a';

printf("%d\t",memcmp(&t1, &t2, sizeof(CmpTest)));

t3.a = 'a';

t3.b = 1;

t3.c = 123456;

t3.d = 'a';

t4.a = 'a';

t4.b = 1;

t4.c = 123456;

t4.d = 'a';

printf("%d\n",memcmp(&t3, &t4, sizeof(CmpTest)));

}

输出结果为:

1

0

1

0

c语言结构体memcmp,用memcmp()比较结构体相关推荐

  1. go var type 互转_Go语言学习笔记(第九章) 结构体

    Go语言基础之结构体 Go语言中没有"类"的概念,也不支持"类"的继承等面向对象的概念.Go 通过类型别名(alias types)和结构体的形式支持用户自定义 ...

  2. c语言结构体与共同体课件,《结构体与共同体》PPT课件.ppt

    <<结构体与共同体>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<结构体与共同体>PPT课件.ppt(44页珍藏版)>请在装配图网上搜索. 1 ...

  3. c语言中有关void,sizeof,结构体的一些问题

    void[1]: void是C语言中的空类型,void的用途有二. 1.对函数返回的限定: 如果函数没有返回值,则默认返回整数类型,而不是void类型.c++有很严格的类型,不允许函数不加类型声明,而 ...

  4. 【精华文】C语言结构体特殊情况分析:结构体指针 / 基本数据类型指针,指向其他结构体

    参考链接:Structure pointer pointing to different structure instance 注:可以查看此篇的问题和唯一的回复,那是相对正确的,不要看comment ...

  5. 结构体怎么赋值_c语言学习之基础知识点介绍:结构体的介绍

    一.结构体的介绍 /* 语法:struct 结构体名{成员列表;};切记切记有分号!说明:成员列表就是指你要保存哪些类型的数据.注意:上面的语法只是定义一个新的类型,而这个类型叫做结构体类型.因为类型 ...

  6. python中的记录指针_使用Python向C语言的链接库传递数组、结构体、指针类型的数据...

    使用python向C语言的链接库传递数组.结构体.指针类型的数据 由于最近的项目频繁使用python调用同事的C语言代码,在调用过程中踩了很多坑,一点一点写出来供大家参考,我们仍然是使用ctypes来 ...

  7. c语言 结构体声明和引用、,结构体的声明与自引用

    今天上了数据结构课程的第一堂课,经常会看到下面这种语法:结构体有个成员变量是指向该结构体的指针,也就是自引用(self reference).翻看了下一章节内容,才知道这是链表的结构基础.平时C语言用 ...

  8. C语言随笔小算法:char字节流与结构体变量相互转换

    C语言随笔小算法:char字节流与结构体变量相互转换 代码: /* **数据域 */ typedef struct {kal_uint8 bt_dpacket_data_total_num; //(可 ...

  9. python结构体数组传出接收c动态库_使用Python向C语言的链接库传递数组、结构体、指针类型的数据...

    使用python向C语言的链接库传递数组.结构体.指针类型的数据 由于最近的项目频繁使用python调用同事的C语言代码,在调用过程中踩了很多坑,一点一点写出来供大家参考,我们仍然是使用ctypes来 ...

  10. C语言结构体数组,结构体数组的定义,结构体数组的输出,结构体的应用

    结构体数组 结构体数组的定义: 结构体数组格式:声明变量类型 数组名称[数组长度] //定义一个结构体数组名为a,它里面包含有5个元素,每一个元素都是一个结构体变量 Wor a[5]={}; #inc ...

最新文章

  1. wps如何和matlab兼容,怎样使wps和office兼容
  2. [以太坊源代码分析] V. 从钱包到客户端
  3. 2019牛客暑期多校训练营(第六场)C - Palindrome Mouse (回文树dfs)
  4. 程序员需要关注的十个大数据技术
  5. redis在linux搭建集群,Linux/Centos 7 redis4 集群搭建
  6. java singleton inner class_Java面向对象设计模式-单例模式
  7. mysql end case连接_MySql 中 case when then else end 的用法
  8. java读取百万条记录出错_如何实现导出百万条数据到EXCEL中不报OOM异常?
  9. Android开发笔记(九十一)工厂模式
  10. 似然函数(likelihood function)
  11. 各类数据库默认端口总结
  12. mysql 处理json_mysql存储过程处理json格式内容
  13. 【行测】图形找规律类题目
  14. 云计算开发一般负责什么工作呢?云计算是做什么的?
  15. Android——Intent简介
  16. linux 下的进程创建线程,Linux线程 之 线程 线程组 进程 轻量级进程(LWP)
  17. python解椭圆方程的例题_《椭圆》方程典型例题20例(含标准答案)
  18. mariadb无法update修改root密码ERROR 1348 (HY000): Column 'Password' is not updatable
  19. 如何判断一棵树是否是满二叉树
  20. python爬虫小说设计过程_Python制作爬虫采集小说

热门文章

  1. 常用计算机 启动bios,常见电脑进入bios的方法
  2. oracle设置查看格式,Oracle 设置显示格式
  3. ​KAKA NFT | 潮物来袭!烤仔英雄系列NFT盲盒即将发售~
  4. 【周赛266】leetcode2062.统计字符串中的的元音子字符串
  5. 关于纯流量卡-物联网卡的一点个人看法
  6. 孤独星球android app,孤独星球免费版
  7. odi12配置mysql_Oracle数据库之Oracle ODI 12c之多表联合查询以及定时任务设置
  8. dex文件格式------header_item解析
  9. 搜索引擎广告和信息流广告有什么区别?
  10. 如何设置win10默认输入法,看着里就够了,怎样添加输入法