#include <stdio.h>#include <assert.h>int my_if(int a){char* p =(char *) &a;assert(p != NULL);   //断言函数(防止为空指针)//直接返回值://1的截取为:01        (截取:char类型为1字节截取整形地址高地址)//放于高地址则返回:00-0//放于低地址则返回:01-1return *p;}int main(){ int a = 1;                                  //内存中 左边:低地址   右边 :高地址int b=my_if(a);                            //1的内存存储为: 0x 00(高位) 00 00 01(低位)----->存储规则if (0 == b)                                {printf("大端\n");                       // 数据低位放于存储高位,数据高位放于存储低位.   0x 00 00 00 01}else{ printf("小端\n");                         //与之相反 : 0x 01 00 00 00 }return 0;}

精简版:(自定义函数中直接返回值)

#include <stdio.h>#include <assert.h>int my_if(int a){return *(char*)&a;              //char* p =(char *) &a;//assert(p != NULL);   //断言函数(防止为空指针)////直接返回值:////1的截取为:01        (截取:char类型为1字节截取整形地址高地址)////放于高地址则返回:00-0////放于低地址则返回:01-1//return *p;}int main(){ int a = 1;                                  //内存中 左边:低地址   右边 :高地址int b=my_if(a);                            //1的内存存储为: 0x 00(高位) 00 00 01(低位)----->存储规则if (0 == b)                                {printf("大端\n");                       // 数据低位放于存储高位,数据高位放于存储低位.   0x 00 00 00 01}else{ printf("小端\n");                         //与之相反 : 0x 01 00 00 00 }return 0;}


©著作权归作者所有:来自51CTO博客作者防.的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. makefile使用.lds链接脚本以及 常用命令 解析
  2. jira如何部署
  3. macvlan Multus-CNI在OpenShift上的使用
  4. uboot的常用命令及用法
  5. 网工必备!超实用的九大常用的网络命令
  6. Greenplum6 数据库数据库学习_外部表
  7. 【爬虫】利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地
  8. Ubuntu 安装yii2 advanced版 遇到的坑
  9. 如何批量Ping N个IP地址,掌握一个命令让你节省N小时,让老板给你加

随机推荐

  1. Python超越Java成为最受欢迎的教学语言;9
  2. 源码实战 | 从线程池理论聊聊为什么要看
  3. [简讯] 微软Linux子系统已经支持中文
  4. dubbo源码解析-简单原理、与spring融合
  5. centos7 systemctl 开机自起 tomcat
  6. 双链表
  7. 强制GDM登陆界面到主显示器
  8. httprunner3.x遇到的问题(hrun make报错)
  9. Python显示周边全部的Pokemon小精灵
  10. 手动部署ceph octopus集群