- 博客(6)
- 收藏
- 关注
原创 模拟实现atoi函数
atoi函数原型为:int atoi( constchar *string );其功能是将一个数字字符串转换成int类型的整数,若数字前有空格,可以跳过空格。模拟实现此函数,初看之下,觉得此题简单,写了如下代码:int change(const char *p){ int num = 0; while (*p) { num = num * 10 + *p - '0';
2017-07-29 17:07:31 435
原创 C语言 注释转换
在编写代码中,经常会注释掉某段代码,C语言一般有两种方式:一种是/*xxxxxx*/,另一种是://xxxxx.第一种注释方式不能嵌套使用,在/与*的匹配上可能会造成理解错误,第二种注释可以注释掉一行,两种风格各有优缺点,今天讲一下怎样将第一种风格转换成第二种风格。虽然转换本身不难,但要考虑到匹配时会出现多种情况,在这里,我们用到了状态机编程的思想。定义四种状态:NUL_STATE(无状态
2017-07-29 16:35:44 450
原创 通讯录的进阶
上一篇博客,写了通讯录的简单版本,虽然需要的功能基本都有,但是仍然存在许多问题:1.当通讯录的实际人数只有几十个时,开辟500个人的信息的内存,显然会浪费,当通讯录人数多于500时,没有足够的内存去存储这么多人的信息;2.当程序退出时,输入的信息无法保存下来,程序再次打开时,原先输入的数据已经没有了。鉴于以上两点,对程序进行了改进:一方面,使用malloc,realloc,free等函
2017-07-21 14:38:46 363 1
原创 对结构体及位段的认识
在C语言里为了描述一些现实生活中比较复杂的东西,往往需要用到结构体。结构体就是用户自己建立的由不同数据类型组成的组合型数据结构。比如:描述一个学生,可能需要描述他的学号,姓名,成绩等。一. 声明及定义结构体变量有三种方法定义结构体变量1. 先声明结构体类型,再定义该类型的变量,例如:struct P{ inta; charc;};int m
2017-07-10 15:35:54 308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人