自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 链表面试题

经常会在面试时出现链表的题,本篇博客是对经典面试题一个总结。首先:整个程序的头文件Slist.h:新增结点:尾插:打印链表:FindSlist函数:从尾到头打印单链表:递归从头到尾打印单链表:递归是将问题化为子问题,若链表为:1 2 3 4 5 ,打印1 2 3 4,就先打印5,打印1 2 3 ,就先打印出4.......代码如下:...

2018-03-26 19:05:24 187

原创 带头双向循环链表

带头双向循环链表:带有头结点,是双向的,是循环的,即尾指向头,头也指向尾。带头双向循环链表图如下:下面是双向循环链表的一些实现:首先:头文件Dlist.h如下:源文件Dlist.c如下:main函数:test1函数:test2函数:初始化函数:销毁函数:新增结点:打印链表:尾插:注:DlistInsert函数下面会有。前插:任意位置插入:DlsitFind函数:前删:尾删:任意位置删除:结果:...

2018-03-25 22:57:50 481

原创 柔性数组

柔性数组是结构体中最后一个元素是未知大小的数组,可以是a[0],a[ ]。第一种;第二种:含有柔性数组的结构体大小:柔性数组的特点:结构中的柔性数组成员必须至少有一个其他合法成员;结构体大小不包括柔性数组大小;包含柔性数组成员的结构体用malloc函数进行内存的动态分配,并且分配的内存应大于结构的大小,以适应柔性数组的预期大小。如果想要一个结构体中数组变大变小 ,有两种方法:方案一:这种方法需要两...

2018-03-20 21:49:16 816

原创 实现一个动态通讯录

通讯录可以用来存储1000个人的信息,每个人的信息包括:  姓名、性别、年龄、电话、住址上篇博客介绍动态函数,malloc和realloc,博客链接:http://blog.csdn.net/sophia__yu/article/details/79508975代码中将使用malloc和realloc函数:头文件和结构体:main函数:find函数:add函数:delete函数:修改函数:sear...

2018-03-11 22:09:24 384

原创 malloc 、calloc、realloc

malloc和freec库分别提供了两个函数,malloc和free,分别用于执行动态内存分配和释放。这个函数向内存申请一段连续可用的内存,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。同时,malloc实际分配的空间有可能比申请的要大,但取决于编译器。如果开辟失败,则返回一个NULL指针,所以,对返回指针做好检查,确保是空还是非空。由于malloc返回值为void *,...

2018-03-10 19:19:57 194

原创 联合体 利用联合体判断大小端

联合体定义联合体和结构体一样都是自定义类型。联合体也包含一系列成员,但是和结构体不一样的是这些成员共用一个空间。也就是说联合体内,任意一个成员地址在数值上都相等。请看联合体的声明:利用联合体判断大小端先请看下列代码:由此,可以利用联合体判断大小端:同理,还有另一种方法判断大小端:联合大小的计算结构体存在内存对齐,那联合存在吗?由于联合中各成员共用同一段空间,所以联合长度至少可以容纳最大的成员。但是...

2018-03-10 16:05:23 5892 4

原创 枚举

枚举类型定义枚举就是把可能的取值全都列举出来,比如,将一周七全都列举出来 :enum day 是枚举类型,相当于int;{ }中的内容是枚举类型的可能取值,是枚举常量。这些可能值都是有值的,默认从0开始,一次加1,当然也可以赋值为其他数字,但是依然是递增1。枚举使用枚举优点我们知道可以用#define定义常量,但是当为什么要用枚举?当写到大程序时,有很多相同类型常量,就可以用枚举定义出很多常量,这...

2018-03-10 14:26:15 271

原创 位段

我们已经了解了结构体,位段 和结构体类似,但是依然有不同之处:1.位段的成员必须是int、unsigned  int 、signed int、char(属于整型家族)。2.位段的成员后边有一个冒号和一个数字(数字代表如果是32位bit位可以使用的权限)。结果为:8。解释如下:位段的内存分配:1.位段的成员可以是int、unsigned  int 、signed int、char(属于整型家族)。2...

2018-03-08 20:38:54 2548 1

原创 结构体(声明、初始化、内存对齐、如何传参)

结构基础知识聚合数据类型能够同时存储超过一个的单独数据。C提供了两种类型的聚合数据类型,分别是数组和结构体。数组是相同元素的集合,它的每个元素是通过下标引用或指针间接访问的。结构体也是一些值的的集合,这些值称为它 的成员,但一个结构的成员可能具有不同的类型。数组元素可以通过下标访问,这是因为数组元素长度相同,但在结构体中并非如此,由于每个成员的类型可能不同,那么长度也就可能不同,所以就不能通过下标...

2018-03-08 19:31:10 21785 6

原创 使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。

使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 例如:命令行参数输入:test.exe -a 1 2 执行1+2输出3 结果为:...

2018-03-01 16:39:01 294

原创 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。 分析:两个空瓶子可以换一瓶汽水,3个空瓶子会换1瓶,汽水4个空瓶子会换2瓶汽水,只要空瓶子数大于1,就可以再喝汽水。...

2018-03-01 15:30:54 745

原创 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。

1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现。 分析:异或,相同为0,不同为1。0和任何数据异或都为该数据。将数组整体元素异或:可得出,异或结果肯定不为0;结果肯定是不同数据异或结果,而且是这两个数据不同部分异或结果;从低位开始按位与1,若结果为0,说明该位数据不同;根据该位,将数组分为两部分,一部分是该位为0,另一部分该位为1,每一部分都有一个不同数...

2018-03-01 13:24:38 1245

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除