![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
04_C 学习
xiaopangzi313
编程爱好者
展开
-
实现链表中存储数据的逆序
思路:1.先存入数据到链表,然后将最后的元素插到链表头,然后删除链表尾元素,再依次将链表尾元素顺序插到链表头2.新建两个链表,.先存入数据到链表1,再将,链表1的数据从表头拷贝到链表2即可注意:两种方法均采用头插法#include#includetypedef struct _linkode_{int data;struct _linkode_ *next;原创 2013-06-16 17:27:04 · 1204 阅读 · 0 评论 -
很经典的数据结构
1.Numbered 1, 2,... N n individuals sitting around a circle, contract number is k (1 < = k < = n), people started to count off from 1 to m the man out, it's the next and started to count off from 1, c原创 2013-07-08 17:09:56 · 644 阅读 · 0 评论 -
学生管理系统
项目功能:主要能实现用户对学生信息的增、删、改、查以及排序等项目名称:学生管理系统开发环境:linux /C开发工具:GCC/GDB 开发流程:编译流程:1.cc *.c -lsqlite3 运行l流程:1. ./a.out 调试效果:项目源文件由以下三个组成:1. stu原创 2013-06-18 17:18:06 · 1086 阅读 · 0 评论 -
在线词典的制作
在线词典的功能是用户能够通过自己注册 的账号登陆,查询单词或词组的含义。项目名称:在线词典开发环境:linux /C开发工具:GCC/GDB SQlite开发流程:编译流程:1.cc load_dict.c dict.txt data.deb -lsqlite3 //注意dict.txt为词典txt文件 ,data.deb为sqlite数据库 2.原创 2013-06-18 16:49:01 · 1794 阅读 · 0 评论 -
C语言实现面向对象
众所周知,面向对象大行其道,其中以C++、JAVA等这样的高级语言为代表,而这样的高级OO语言其实也是以C为蓝本的,以下本文就着重分析C语言如何实现面向对象。面向对象具备3大特性:封装、继承和多态。大多数语言都具有封装特性,只不过面向对象在封装上进一步增强,并且将数据和方法进行糅合。在面向对象中顶级存在是类和对象,而在过程式语言中函数则是顶级存在。1.定义子类和父类表现形式C语言中没有原创 2017-01-23 19:19:35 · 961 阅读 · 0 评论 -
在main函数执行之前和之后执行一段代码
方法1:声明一个全局变量,或者全局对象,这个全局对象在man函数之前被执行。#include using namespace std;class App{public: App() {cout "I was born!" endl;}};App a;int main(int argc, char** argv){转载 2013-11-26 11:11:12 · 637 阅读 · 0 评论 -
GCC 编译 C++
原来一直以为gcc是c的linux下的编译器,g++是c++的linux下的编译器,今天偶尔看到一个说明文档,大体内容是gcc已经不单纯的可以编译C语言,它支持C, C++, Objective-C, Fortran, Java, Ada的编译,如果不指名编译语言,默认由后缀名决定。感觉好神奇,就亲自想用gcc来编译一个c++的helloworld。步骤如下: 1.用vim直接打开hel转载 2013-11-10 08:06:56 · 596 阅读 · 0 评论 -
创建守护进程
创建方法:1.创建子进程,杀死父进程2.建立新的会话3.设立当前目录为根文件目录4.重设文件掩码5.关闭不需要的文件描述符题目:写一个程序,有守护模式和常规模式,写一个日志文件,每隔一秒向文件中写入当前日期时间运行时:./a.out 1(daemon mode ) /log运行效果:#include#include#include #i原创 2013-06-20 22:02:24 · 592 阅读 · 0 评论 -
pthread_cond_wait用法解析与案例
pthread_cond_wait用法解析与案例 pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)函数传入的参数mutex用于保护条件,因为我们在调用pthread_cond_wait时,如果条件不成立我们就进入阻塞,但是进入阻塞这个期间,如果条件变量改变了的话,那我们就漏掉了这个条件。因为这个线程还没有放到等原创 2013-06-22 11:50:16 · 2104 阅读 · 0 评论 -
用exec函数族实现shell脚本
简介:exec 函数族,非常强大可以执行我们在linux下操作的shell脚本命令思路:考虑到exec函数每执行一次即开辟一个进程,故我们要考虑到回收子进程的操作运行结果:具体源码为myshell.c注意我使用是execvp,大家可以使用execv,execl,execp等#include#include#includeint main(int argc, c原创 2013-06-22 12:02:57 · 1442 阅读 · 0 评论 -
进程管理--回收僵尸态子进程
大家都知道一个子进程结束后会变成僵尸态进程,编程时往往会调用wait函数,但是wait()函数通常会引发阻塞,故我们常采用wait_pid()函数:wait_pid()函数原型为 pid_t wait_pid(pid_t pid,int *status,int options);参数status:返回进程改变的状态参数options: WUNTRANCED ------R->T原创 2013-06-22 14:28:49 · 923 阅读 · 0 评论 -
关于链表的常见考题
/* 1.已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。*/slnodetype *delete(slnodetype *head,int key){ if(head->number==key) { head=pointer->next; free(pointer); break; } back = pointer; point原创 2013-07-08 19:42:06 · 1427 阅读 · 0 评论 -
实现一句英文的逆序输出----微软面试题
实现一句英文的逆序输出----微软面试题如: 输入 i love china; 输出 china love i方法一:#include #define N 32int get_data(char *dest, int num);int reverse_word(char *str);int main(){ char buff[N]; get_data(buf原创 2013-06-25 21:47:43 · 1047 阅读 · 0 评论 -
float精度浅析
1 范围float和double的范围是由指数的位数来决定的。 float的指数位有8位,而double的指数位有11位,分布如下: float: 1bit(符号位) 8bits(指数位) 23bits(尾数位) double: 1bit(符号位) 11bits(指数位) 52bits(尾数位) 在数学中,特别是在计算机相关的数字(浮点数)问题的表述中,转载 2013-11-04 21:18:41 · 882 阅读 · 0 评论 -
使用VC脚本编译本地dll调用
1. 激活环境变量,path,lib,include等 运行C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin>vcvars32.bat 注意观察Path, LIB,INCLUDE这几个环境变量,若这里出现异常,后面编译链接会报错 2.编写本地源程序(本文使用C语言)Math.c和Math.h//Math原创 2018-01-18 21:26:44 · 718 阅读 · 1 评论