- 博客(75)
- 收藏
- 关注
转载 位域结构体
位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便。规则:1. 位结构中的成员可以定义为unsigned, 也可定义为signed或者是char, 但当成员长度为1时, 会被认为是unsigned类型。因为单个位不可能具有符号。2. 位结构中的成员不能使用数组和指针, 但位结构变量可以是数组和指针, 如果是指针, 其成员访问方式同结构指针。...
2016-12-19 16:50:00
231
转载 笔试常见函数题(读懂这些函数后,笔试强了很多)
1:判断有无符号void foo(void){unsigned int a = 6;int b = -20;(a+b > 6) ? puts("> 6") : puts("<= 6");}答案和解释: 输出 > 6,原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。-2...
2016-11-04 18:16:00
137
转载 二进制文件和文本文件的读写
数据怎么在磁盘上写不是由文件打开方式决定的,而是由写函数决定的。数据怎么从磁盘上读也不是由文件打开方式决定的,而是由读函数决定的。上面说的数据怎么写是指,一种类型的变量是怎么存的?比如int 12,可以直接存12的二进制码(4个字节),也可以存字符1,字符2.数据怎么读的是指,我要读一个int变量,是直接读sizeof(int)个字节,还是一个字符一个字符的读,直到读到的字符不是数字...
2016-10-26 14:24:00
199
转载 杂记(那些我还容易混淆的c和c++知识)
1:定义一个对象时先调用基类的构造函数、然后调用派生类的构造函数;析构的时候恰好相反:先调用派生类的析构函数、然后调用基类的析构函数。2: 多态性具体体现在运行和编译两个方面:在程序运行时的多态性通过继承和虚函数来体现;在程序编译时多态性体现在函数和运算符的重载上;3:y引用: 切记要对其进行初始化不能再把该引用名作为其他变量名的别名引用本身不占存储单元,系统也不给...
2016-10-23 09:59:00
107
转载 linux 进程间通信方式
管道: 它包括无名管道和有名管道两种,前者用于父进程和子进程间的通信,后者用于运行于同一台机器上的任意两个进程间的通信消息队列: 用于运行于同一台机器上的进程间通信,它和管道很相似,是一个在系统内核中用来保存消息的队列,它在系统内核中是以消息链表的形式出现。消息链表中节点的结构用msg声明。共享内存: 共享内存是运行在同一台机器上的进程间通信最快的方式,因为数据不需要在...
2016-10-19 16:20:00
116
转载 Centos 挂载U盘
开始: 我拿到的是一个新盘,遇到的第一个问题是插上去后centos不能识别他,使用fdsik -l也没有这个U盘的任何信息,再windows上面查看他的格式也是fat32,没有问题,于是折腾了很久后我重新把他格式化,也同样格式化为fat32,这次就能识别了。命令:fdisk -l (查看磁盘分区信息)[root@phoenix Desktop]# fdisk -l...
2016-10-18 15:23:00
78
转载 Lua模式匹配
具有特殊意义的字符:( ) . % + - * ?[ ^ $( ) 捕获 :string.find("name= anna","(%a+)%s*=%s*(%a+)")//除了返回索引外还要返回用(%a+)捕获的两个单词. 匹配任意字符% 转义字符:%%匹配字符%[] 匹配中括号内的字符串整体:类 [01] 匹配二进制数字^ 补集...
2016-10-08 16:00:00
106
转载 区别Lua模式匹配中 %a+ 与 .-
匹配单词与匹配字符> print(string.gsub("hello!zzy","%a+","tina"))tina!tina 2> print(string.gsub("hello!zzy",".-","tina"))tinahtinaetinaltinaltinaotina!tinaztinaztinaytina 10%a :匹配字母...
2016-10-08 15:39:00
137
转载 将硬件规定的通信协议用Lua实现(涉及到很多Lua通信的数据转换)
1:这次处理的是大唐的gps通信协议,先简单介绍一下他规定的通信规则:信息结构:传输说明: 信息结构中的各个字节书写时都是以十六进制标识,两位数组成。传输时,SOI和EOI(SOI=7EH,EOI=0DH)各按一个字节传输,但其余各项每个字节都是拆成两个字节,每个字节用两个ASCII码标识,即高4位用一个ASCII码表示,低4位用一个ASCII码标识,传输时先发送高4位...
2016-09-29 17:34:00
259
转载 Lua库-string库
string.len(s)string.rep(s,n)string.lower(s)string.upper(s)string.sub(s,i);//截取s第i个开始的后缀string.sub(s,i,j)//截取s中第i个开始到第j个结束的字符串string.gsub(s,"h","a")//在s中搜索子串“h”并且用“a”替换string.char(...
2016-09-29 13:39:00
73
转载 Lua库-bit32库
Global = Global or {};local bits = {};function bits.bxor(num1,num2) local ret=bit32.bxor(num1,num2);--异或 return ret;endfunction bits.bor(num1,num2) local ret=bit3...
2016-09-29 11:41:00
2025
转载 C语言输入输出函数总结
常见函数:FILE *pchar chchar buf[max]fopen("filename","ab")//打开名为filename的文件并返回一个指向该文件的指针fclose(p)getchar(ch)//从标准输入(键盘)获得一个字符putchar(ch)//将ch输出到标准输出(显示器)getc(p)//与上面的操作不同在于操作对...
2016-09-21 17:29:00
68
转载 Lua库-table
1 获取以及设置大小a={}print(table.getn(a)) -->0table.setn(a,10)print(table.getn(a)) -->102 插入删除a={}for line in io.lines() do table.insert(a,line)//在最后位置插入endtable.inser...
2016-09-13 18:02:00
63
转载 Lua中的数据结构
1 数组:(lua习惯数组从1开始)a={}for i=1,1000 do a[i]=0end2 阵和多维数组1:mt={}//新建一个表,表元素为表for i=1,N do mt[i]={}//新建一个表,里面的表元素为值 for j=1,M do mt[i][j]=1 ...
2016-09-13 17:52:00
96
转载 Lua的闭包详解(终于搞懂了)
词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界 table.sort(names,functin (n1,n2) return grades[n1]>grades[n2] end) //内部匿名函数可以访问外部函数的n1,n2第一类值:lua当中函数是一个值,他可以...
2016-09-12 11:36:00
211
转载 File常见操作函数
StringName=File.getName();//获得文件或文件夹的名称:StringparentPath=File.getParent();//获得文件或文件夹的父目录Stringpath=File.getAbsoultePath();//绝对路经Stringpath=File.getPath();//相对路经...
2016-09-09 15:01:00
110
转载 常见内存错误总结
内存分配方式:1:从静态存储区分配:全局变量,静态变量2:从栈分配:局部变量,函数参数3:从堆分配(动态内存分配):使用malloc或者new原则:使用栈存储和静态存储就能满足要求,那么就不要使用动态存储(造成大得多额外开销)常见的内存错误:1:内存分配未成功使用p==NULL来判断是否为空可以避免这个问题或者使用异常处理语句来处理错误2:分配成功但是没...
2016-09-08 17:32:00
88
转载 主机序和网络序以及使用例子
为什么存在这两个东西: 空中传输的字节的顺序即网络字节序为标准顺序,考虑到与协议的一致以及与同类其它平台产品的互通,在程序中发数据包时,将主机字节序转换为网络字节序,收数据包处将网络字 节序转换为主机字节序 网络程序开发时 或是跨平台开发时 应该注意保证只用一种字节序 不然两方的解释不一样就会产生bug主机序: 不同的CPU有不同的字节序类型 这些字节序是指整数...
2016-09-04 15:56:00
89
转载 关于操作系统需要掌握的一些基本常识
1:进程与线程 进程是一个具有独立功能的程序的一次运行活动,是系统进行资源分配的一个基本单元。 线程是进程的一个实体,是cpu调度的基本单元,自己并不拥有系统资源,他的资源和该进程内的其他线程共享。、 引入线程的优点: 调度开销小,易于调度; 方便的实现并发; 充分利用多处理器的性能; 线程和进程的不同: 线程必定属于某个进...
2016-09-04 15:37:00
172
转载 java多线程注意事项
1:继承thread和实现Runnable创建线程的区别:继承thread创建的对象直接start()就可以就绪,但是使用Runnable所new出来的对象要先new Thread(xx)才能start()这也就意味着在start()之前实现Runnable的类一次new 出来的对象是可以多次传入new Thread()创建多个线程实例并且多次start()的,就是说runnabl...
2016-09-02 17:18:00
65
转载 java遍历文件夹两种方式
1:非递归方式(有点类似二叉树的非递归遍历,采用链表来存储遍历到的文件夹,如果是文件就直接输出)public void traverseFile(String path){ File[] files; File file=new File(path); if(file.exits()){ LinkedList<File>...
2016-09-02 10:02:00
101
转载 java和c通信相关的数据类型转换
利用socket进行网络传输的时候往往需要将int转换为bytes,将string转换为bytes以及一些其他类型的数据转换java和c类型的区别:变量类型 C中字节数 Java中字节数char 1 2byte 无 1short 2 2in...
2016-08-31 16:33:00
118
转载 linux 使用sqlite3
1:c中使用sqlite3需要调用函数接口操作: sqlite3 *db; int status=sqlite_open("dbname",&db);//打开或者创建数据库 int status=sqlite3_exec(db,yuju,huitiaohanshu,0,cuowuzhizhen);//数据库所有的操作都得通过这个函数执行 sqlite3_...
2016-08-22 17:19:00
93
转载 linux多线程编程基本操作(2)
linux c多线程总结:1:关于线程和进程 a:使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一...
2016-08-17 10:41:00
87
转载 linux c做服务端使用多线程接收图片并且将图片写入数据库
#include<sys/socket.h>#include<sys/types.h>#include<sys/stat.h>//包含文件的全部结构,属性#include<stdlib.h>#include<stdio.h>#include<string.h>#include<uni...
2016-08-17 10:40:00
117
转载 Linux 下的多线程编程(1)
#include<stdio.h>#include<pthread.h>#include<string.h>#include<sys/time.h>#define MAX 20//定义三个线程共同完成计数任务pthread_t thread[3];pthread_mutex_t mut;//定义互斥锁变量...
2016-08-05 10:51:00
80
转载 mysql——约束
非空约束: create table temp( id int not null, name varchar(20) not null default 'adc', sex char null )//给id,name加上非空约束 alter table temp modify sex varchar(...
2016-08-03 14:50:00
98
转载 c的三个内存分配函数(malloc,realloc,calloc)
//内存分配_mallocint main(){ int *p; char *p1; p=(int *)malloc(sizeof(*p)*size);//size为需要存储的数量 p1=(char *)malloc(sizeof(*p)*size+1);//字符串要流一个结束符位置\0 if(p=NULL||p1=NULL)...
2016-08-02 15:30:00
107
转载 mysql基本操作(一)
库操作:show databases;//显示全部数据库drop database dbName;//删除数据库create database [if not exists] dbName;//创建数据库use dbName;//使用数据库show tables;//显示当前使用数据库的表名desc tableName;//显示具体的表结构表操作:d...
2016-08-02 15:23:00
71
转载 c语言描述的数据结构的注意细节
1:顺序表使用基址来表示和存储 int *p; p=(int *)malloc(initsize*sizeof(int)); L—>p[x]=xx;2:链表 在于除了更改数据还要更改前后与之关联的指针域,利用头指针可以通过l->next找到第i个地址对应的结点 while(p&&j<i){ ...
2016-08-01 11:25:00
103
转载 c语言描述的静态查找表
顺序表的查找: 直接循环依次和目标比较就行有序表的查找(二分查找):int search(SS *T,Type key){ int mid; int low=1; int high=T.length; while(low<=high){ mid=(low+high)/2; if(T.e...
2016-07-29 16:48:00
104
转载 c语言描述的二叉树的基本操作(层序遍历,递归,非递归遍历)
#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define OVERFLOW -1#define STACK_INIT_SIZE 100#define STACKINCREMENT 10...
2016-07-29 10:47:00
393
转载 c语言描述的链队列的基本操作
#include<stdio.h>#include<stdlib.h>#define ok 0#define error 1 //链队列特点在于不仅有链的头指针和尾指针,还有组成链的每一个节点,所以结构体要设置两个typedef struct qlnode{ int data; struct qlnode *next;...
2016-07-28 11:08:00
138
转载 c语言描述的双向链表的基本操作
#include<stdio.h>#include<stdlib.h>#define ok 1#define error 0typedef int Status;typedef char ElemType;typedef struct node{ int data; struct node *prior; ...
2016-07-28 10:00:00
82
转载 c语言描述的简单选择排序
基本思想:首先,选出最小的数,放在第一个位置;然后,选出第二小的数,放在第二个位置;以此类推,直到所有的数从小到大排序#include<stdio.h>#include<stdlib.h>void SelectSort(int a[],int len){ int i,j,temp; int k; for(i=0;i&l...
2016-07-27 11:26:00
60
转载 c语言描述的二分插入排序法
#include<stdio.h>#include<stdlib.h>//二分插入排序法void BinsertSort(int a[],int n){ int low,high,mid; int i,j,temp; for(i=0;i<n;i++){ printf("%d ",a[i]);...
2016-07-27 10:54:00
337
转载 c语言描述的快速排序法
#include<stdio.h>#include<stdlib.h>void QuikSort(int a[],int m,int n){//第一个数作为关键字,比他大的放到他后面,比他小的放到他前面,分为两个子序列,然后对这两个子序列分别重复这个操作 int low=m; int high=n; int temp=...
2016-07-27 10:18:00
53
转载 c语言描述的顺序栈实现
#include<stdio.h>#include<stdlib.h>#define initsize 100#define ok 1#define error 0typedef int Status;typedef char ElemType;typedef struct{ ElemType *base; El...
2016-07-26 16:47:00
89
转载 c语言描述的直接插入排序法
#include<stdio.h>#include<stdlib.h>#define SIZE 6typedef int Type;//直接插入排序法void InsertSort(Type a[],Type n){ int i,j; int temp; for(i=1;i<n;i++){ ...
2016-07-26 10:41:00
86
转载 c语言描述的顺序表实现
//顺序表的实现:(分配一段连续地址给顺序表,像数组一样去操作)#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define INCREMENT 10typedef int ElemType;type...
2016-07-25 15:05:00
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人