
C语言
文章平均质量分 52
shihongyu_
天行健,君子以自强不息。
展开
-
通讯录项目整理(链表法)
本文介绍了我通讯录项目各个功能的编写过程以及大体思路。1.头文件以及结构体的定义#include <stdio.h>#include <string.h>#include <stdlib.h>#define OK 1#define ERROR 0typedef char Elemtype;typedef char Status;typed...原创 2018-07-17 16:58:49 · 1355 阅读 · 2 评论 -
pthread_exit-----在linux主线程中的用途
大家都知道在一个线程中调用pthread_exit表示退出一个线程,并且pthread_exit的参数作为返回值提供给pthread_join函数获取。 那么如果在main函数创建了若干个线程后,在main函数最后调用pthread_exit会怎么样呢?已经创建的线程会不会随着main线程的退出而退出呢? 如果在main函数中调用的是exit,那么答案是所有线程随着main线程退出而退出。 ...转载 2018-08-08 21:23:30 · 547 阅读 · 0 评论 -
快速排序
基本思想:通过一趟排序将待排记录分隔成两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 1、从数列中挑出一个元素,称为 "基准"(pivot) 2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(p...原创 2018-08-15 17:30:20 · 181 阅读 · 0 评论 -
fork函数和vfork函数
fork函数:功能:创建子进程 fork的奇妙之处在于它被调用一次,却返回两次,它可能有三种不同的返回值:1、在父进程中,fork返回新创建的子进程的PID;2、在子进程中,fork返回0;3、如果出现错误,fork返回一个负值#include <stdio.h>#include <unistd.h>int main(){ pr...原创 2018-08-07 21:15:04 · 369 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include <sys/time.h> #include <unistd.h> int select(int maxfd,fd_set *rdset,fd_set *wrset,...转载 2018-08-11 22:14:12 · 187 阅读 · 0 评论 -
在windows下使用vs2013编译和调试mysql源代码
1. 准备工作1)OS:win10 + VS20132)mysql 源码(windows版):mysql-5.6.25.zip 3)perl tool:ActivePerl-5.16.3.1604-MSWin32-x64-298023.msi4)Cmake:cmake-3.5.0-win32-x86 .exe5)Bison:bison-2.4.1-setup.exe ...转载 2018-08-14 17:17:28 · 463 阅读 · 0 评论 -
MYSQL常用命令
-- 创建用户create user "yu"@"localhost" identified by "yu";-- 查询数据库show databases;-- 使用数据库use mysql --用户保存在mysql数据库中-- 查询表show tables;-- 查询用户select user from user;-- 修改...原创 2018-08-14 16:46:35 · 255 阅读 · 0 评论 -
ncurses笔记(1)——ncurses库的介绍与安装
ncurses笔记(1)——ncurses库的介绍与安装介绍ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。 ncurses名字中的n意味着“new”,因为它是curses的自由软件版本。由于AT&T“臭名昭著”的版权政策,人们不得不在后来用ncurses去代替它。 ncurses是GNU计划的一部分,但它却是...转载 2018-08-10 21:23:44 · 30182 阅读 · 2 评论 -
pthread_create函数
线程创建函数 与创建进程不同,创建线程时可以指定一个工作函数,新线程将从这个函数开始执行,函数返回也就等价于线程退出。工作函数必须有一个(void *)型参数,新线程开始执行时,这个参数的值就是pthread_create函数的arg参数的值,因此可以利用它来向线程传递数据。工作函数必须有(void *)型的返回值,它代表线程的退出状态。注意:任意线程调用exit()都会终止整个进...原创 2018-08-09 20:22:21 · 550 阅读 · 0 评论 -
嵌入式开发为什么选择C语言做开发语言?
众所周知,C语言在嵌入式开发中占有十分重要的地位,它们的关系非比寻常。那么为什么嵌入式开发会选择C语言,而不是其他语言呢?嵌入式开发是在操作系统内部做开发的,操作系统所有的内核几乎都是C语言编写,如果我们也使用C语言做开发,必定会具备一定的优势。再者,C语言相较其他的高级编程语言,其所有的特点对于嵌入式开发软件是再合适不过的了。C语言的特点如下:C语言具有出色的可移植性,能在多种不...转载 2018-08-04 17:16:56 · 4985 阅读 · 0 评论 -
常见排序算法及对应的时间复杂度和空间复杂度
转载自:https://blog.youkuaiyun.com/gane_cheng/article/details/52652705排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存...转载 2018-07-29 15:17:47 · 880 阅读 · 0 评论 -
C语言基础 C语言标识符
标识符在程序中用来标识各种程序成分,命名程序中的一些实体,如变量、常量、函数、类型和符号等对象。 C语言规定,合法的标识符必须由英文字母或下划线开头,是字母、数字和下划线的序列。 在C语言中,大写字母和小写字母被认为是两个不同的字符,如SUM和sum是不同的标识符。习惯上符号常量名用大写字母表示,变量名用小写字母表示。 C语言标识符分为以下三类:(1)关键...转载 2018-07-20 18:34:44 · 2386 阅读 · 3 评论 -
const char * 、char const *、 char * const 三者的区别
const char *ptr; //定义一个指向字符常量的指针,*ptr为const型,不可变,即指针指向的内容不可以通过ptr来修改,但是可以通过别的方式来修改。char const *ptr; //同上char * const ptr; //定义一个指向字符的指针常量 : ptr为const型,不可变; *ptr可变 举例如下:const char *ptr;...原创 2018-08-17 16:39:35 · 723 阅读 · 1 评论