C语言及程序设计进阶例程-30 联合体及其应用
贺老师教学链接 C语言及程序设计进阶 本课讲解
联合体的概念
#include <stdio.h>
union un
{int i;short int si[2];char c[4];
};
int main()
{union un x;x.c[0]='A';x.c[1]='B';x.c[2]='C';x.c[3]='D';printf("%c, %c, %c, %c\n", x.c[0], x.c[1], x.c[2], x.c[3]);printf("%d, %d\n", x.si[0], x.si[1]);printf("%d\n", x.i);return 0;
}
应用:IP的表示
#include <stdio.h>
union IP
{unsigned char part[4];unsigned int address;
};void copyIp(union IP *a, int n[])
{int i;for(i=0; i<4; i++)a->part[i]=n[i];return;
}int main()
{union IP ip1, ip2;int nums[4]= {202,194,116,97};copyIp(&ip1, nums);printf("ip1: %d.%d.%d.%d\n", ip1.part[0], ip1.part[1], ip1.part[2], ip1.part[3]);printf("ip1: %d\n", ip1.address);ip2.address=234567;printf("ip2: %d.%d.%d.%d\n", ip2.part[0], ip2.part[1], ip2.part[2], ip2.part[3]);printf("ip2: %d\n", ip2.address);if(ip1.address == ip2.address)printf("same ip.\n");elseprintf("not same ip.\n");return 0;
}
C语言及程序设计进阶例程-30 联合体及其应用相关推荐
- C语言及程序设计进阶例程-32 位运算及其应用
贺老师教学链接 C语言及程序设计进阶 本课讲解 位运算 #include <stdio.h> int main() {unsigned short int n = 3;int i;for( ...
- C语言及程序设计进阶例程-12 结构体成员的引用
贺老师教学链接 C语言及程序设计进阶 本课讲解 结构体作函数参数 #include <stdio.h> struct Student {int num;char name[20];cha ...
- c语言程序设计指针进阶,C语言及程序设计进阶例程-15 指向结构体的指针
贺老师教学链接 C语言及程序设计进阶 本课讲解 指向结构体变量的指针的应用 #include #include struct Student { int num; char name[12]; ch ...
- C语言及程序设计进阶例程-17 认识链表
贺老师教学链接 C语言及程序设计进阶 本课讲解 例 建立并输出一个简单链表 #include <stdio.h> struct Student {int num;float score; ...
- 《C语言及程序设计进阶》网络课程主页
在CSDN学院开出的网络系列课程<C语言及程序设计初步>已经完成. 系列中的第二季<C语言及程序设计提高>的所有资源建设已经全部完成. 这是第三季<C语言及程序设计进阶& ...
- 进阶 c程序设计语言,C程序设计进阶
你将学到什么 Computer Display Standard C Programming C++ 课程概况 如果说学习过<计算导论与C语言基础>,你已经迈入了C语言的殿堂,那么< ...
- C语言及程序设计初步例程-33 三种循环语句
贺老师教学链接 C语言及程序设计初步 本课讲解 问题:求1+2+3+-+100 用while语句实现的程序 #include <stdio.h> int main() {int i=1, ...
- C语言及程序设计初步例程-37 循环嵌套
贺老师教学链接 C语言及程序设计初步 本课讲解 求 #include <stdio.h> int main() {int sum=0, i=1, t;while (i<=6){t ...
- 3 5的二维数组C语言程序,C语言及程序设计提高例程-33 二维数组元素的引用
贺老师教学链接 C语言及程序设计提高 本课讲解 输入输出二维数组元素 #include int main() { int s[3][5], i, j; printf("Input 3*5 ...
最新文章
- docker-registry的定制和性能分析
- 七、Linux脚本进阶和进程管理
- Java_io体系之CharArrayReader、CharArrayWriter简介、走进源码及示例——13
- C语言头文件 “ 细节 ”
- 命名管道实现进程的信息传递【mkfifo函数、open函数】
- linux CentOS7 erlang安装
- ES5(二)——替换this 之call()、apply()和bind()
- javascript学习随笔(编写浏览器脚本 Navigator Scripting )
- Android新手之旅(12) URL解码
- 通过CSS,Jquery实现DIV的各种动作(包括漂移,未测试IE6)
- InnoDB 存储引擎(8)——InnoDB 存储引擎文件
- 车流量计数、不同车型统计算法
- 877. 扩展欧几里得算法
- 绘画教程:如何轻松画出皮肤的挤压感
- 手机学习利器Qpython
- uniapp安卓端禁止截屏允许截屏
- 心理学转到计算机的女科学家,从局外人到局中人心理学研究理念演变.doc
- 《Web性能测试实战》性能测试用例模板
- 使用Bert完成实体之间关系抽取
- 【转】VMWare+WinDbg搭建(驱动)调试环境
热门文章
- 又来?软件测试之接口自动化面试题汇总
- 帮你排雷Jmeter分布式性能测试那些坑~轻轻松松去实战
- matlab warp,matlab warpimg
- (三)Linux 安装
- MATLAB 画图 字符串连接表示 plot参数
- java notifyall 唤醒顺序_Java线程中的notifyAll唤醒操作(推荐)
- Python基础知识 D9
- orb-slam a versatile and accurate monocular slam system
- 机器学习技术在植物病害识别中的对比分析(迁移学习做了基础实验)
- 原始图像扩展_Resize Sense for Mac(图像处理软件)