c语言
文章平均质量分 50
qingcunsuiyue
集美貌、智慧、才华于一身的女子。
展开
-
C语言初级的小程序
一个数组中只有一个数字是出现一次的,其他数字都出现了两次,找出这个数。 // a^b^a=b; int main { int arr[]={1,2,2,3,3,4,4,5,5}; int i=0; int ret=0; int sz=sizeof(arr)/sizeof(arr[0]); for(i=0;i { ret^=arr[i]; } printf原创 2016-04-20 22:08:27 · 289 阅读 · 0 评论 -
详解可变参数列表
首先要应用可变参数列表需要加头文件#include,可变参数列表是通过宏来实现的,这些宏定义在头文件中。 现在模拟实现printf函数 void print(const char *format,...) //至少含有一个参数 { va_list arg; //va_list是char*的重命名 va_start(arg,format); while(*format) {原创 2016-04-21 21:51:43 · 301 阅读 · 0 评论 -
实现单向链表的基本功能
实现从前到后访问的单向链表LinkList.h#ifndef __LINKLIST_H__ #define __LINKLIST_H__ #include #include #include typedef int DataType; typedef struct LinkNode { DataType data; struct LinkNode *next; }LinkNode,*PLink原创 2016-06-13 18:06:18 · 344 阅读 · 0 评论 -
深度解析c语言中的关键字
关键字: . volatile:防止编译器对代码进行优化,保证内存的可见性。 编译器优化的方法有:将内存变量缓存到寄存器; 故volatile定义的变量会在程序外被改变,每次都必须从内存中读取,而不能重复使用放在寄存器中的备份。 例如: . static:修饰局部变量--原创 2016-05-10 23:09:50 · 364 阅读 · 0 评论 -
链表面试题(一)
这篇文章是在上一篇的基础上完成的 1.删除无头链表的非尾结点。 解题思路:因为不知道pos的前一个结点,所以只能删除pos的后一个结点。 首先,把pos下一个结点的data赋值给pos的data,然后把pos和pos的下下一个结点连接,最后删除pos的下一个结点。 刚开始的链表如下图所示: 经分析后得到的图如下: 代码如下:原创 2016-06-20 20:53:24 · 247 阅读 · 0 评论 -
通讯录(静态版本)
用静态开辟的方法是一次性就把内存开辟好。 头文件concate.h #ifndef __CONCATE_H__ #define __CONCATE_H__ #include #include #include #define MAX_NAME 10 #define MAX_SEX 5 #define MAX_ADDR 20 #define MAX_TELE 12 #define MAX_C原创 2016-08-11 14:26:58 · 277 阅读 · 0 评论 -
通讯录(文件版本)
这篇博客是在上一篇博客的基础上完成的,文件版本可以更好的保存输入的信息。 头文件concate.h #ifndef __CONCATE_H__ #define __CONCATE_H__ #include #include #include #define MAX_NAME 10 #define MAX_SEX 5 #define MAX_ADDR 20 #define MAX_TELE原创 2016-08-11 14:59:58 · 341 阅读 · 0 评论 -
通讯录(动态版本)
这篇博客和上一篇博客都是实现通讯录,只不过这篇是用动态开辟的方法来实现的,它是预先开辟了一块空间,如果预先空间开辟的空间不够存储添加的成员,那么就动态的增长开辟。 源文件concate.h #ifndef __CONCATE_H__ #define __CONCATE_H__ #include #include #include #define MAX_NAME 10 #define MAX原创 2016-08-11 14:43:21 · 418 阅读 · 0 评论 -
注释转换项目
注释转换:由C语言的注释全部转换为C++的注释风格。 从input.c文件里读取的内容注释转换存储到output.c文件中。 状态图为: 通常采用switch case语句来处理。 input.c文件里的内容为: // 1.一般情况 /* int i = 0; */ // 2.换行问题 /* int i = 0; */int j = 0原创 2016-08-13 16:28:59 · 335 阅读 · 0 评论