
C/C++
轮子学长
这个作者很懒,什么都没留下…
展开
-
C/C++ const详解
1. 什么是const1.1 const基础知识const是C语言关键字之一,它先定了一个变量为只读变量(即变量的值不能被修改)。const通常作为符号常量出现,能够增加代码的可维护性。例如我们可以定义某一类元素个数固定的数组的大小为const size = 10; 1.2. const主要有如下几类应用常变量 const 变量名常指针 const * 指原创 2013-05-10 01:45:58 · 1422 阅读 · 0 评论 -
6个变态的C语言程序
以下不少内容来自man手册结构体struct stat 结构体struct stat用于保存文件相关的所有信息。 struct stat的基本成员如下所示 struct stat { dev_t st_dev; // 文件所在设备的设备id,可以分解为主设备号和此设备号转载 2014-09-10 11:12:16 · 1442 阅读 · 0 评论 -
APUE学习笔记——10.9 信号发送函数kill、 raise、alarm、pause
转载注明出处:Windeal学习笔记kil和raisekill()用来向进程或进程组发送信号raise()用来向自身进程发送信号。#include int kill(pid_t pid,int signo);int raise(int signo); B原创 2014-09-02 08:40:07 · 1904 阅读 · 0 评论 -
getopt、getopt_long、getopt_long_only详解
平时写程序时,有时需要对命令行参数进行处理。在接触本文所涉及的内容前,我们可能想到的方法是顺序提取命令行参数,进行顺序判断处理;然而,这种方法相当不灵活,尤其是在遇到带有可选参数的情况时,很难处理。为此,Linux提供了如下接口进行命令行参数的处理:getoptint getopt(int argc, char * const argv[],const char *optstring);argc和argv与main函数的两个参数相匹配的optstring是一个字符串,形式如“a:b::cd:”,原创 2013-06-07 18:02:47 · 2640 阅读 · 1 评论 -
c/c++成长之捷径 C/C++学习资料大全
socket协议三次握手与结束连接客户端代码:#include #include #include //for bzero#include //for socketaddr_in#include #include #include #define PORT 5050 //端口号#define MAXLEN_FOR_DATA转载 2013-05-31 23:05:09 · 10659 阅读 · 0 评论 -
Github干货系列:C++资源集合
Ubuntu12.04的源在 /etc/apt/sources.list 中,进入 /etc/apt/先进行备份然后用根用户权限打开sources.list。 sudo gedit /etc/apt/sources.list 将下面代码贴进去#台湾源 deb http://tw.archive.ubuntu.com/ubuntu/ natt转载 2013-07-18 19:32:53 · 2383 阅读 · 1 评论 -
do {...} while (0) 在宏定义中的作用
在Linux内核、一些C库、以及我们的程序中,经常会出现如下的do {...} while (0)宏定义格式:#define MACRO_NAME(para) do{macro content}while(0) 那么这些宏定义为什么要定义成do{…}while(0)格式,我们来看下这样定义的好处:1. 空的宏定义避免warning: #define foo() do{}while(0)2.存在一原创 2015-12-11 09:52:27 · 979 阅读 · 0 评论 -
插入排序与循环不变式
首先,给出本文要使用的例子,对一个数组a进行升序的插入排序int a[10] = {1,5,3,9,0,2,7,4,8,6};算法的C语言描述[cpp] view plaincopyvoid inserSort(int a[], int length) { int i = 1;原创 2014-09-10 14:59:02 · 2145 阅读 · 0 评论 -
Shell学习笔记——算数运算与条件测试
算数运算1. 使用let命令 #!/sbin/bashvar1=2var2=3let sum=var1+var2echo $sum使用let命令式,变量前不需要加$号只用于整数运算,不适用浮点数2. 使用$[...][]的使用与let类似#!/sbin/bashvar1=2var2=3sum=$[ var原创 2014-09-15 10:17:47 · 1667 阅读 · 0 评论 -
C语言变量的存储方式 ——auto,register,static关键字
C语言变量的存储方式——auto,register,static关键字1. auto编译器在默认缺省的情况下,所有的关键字都是auto的。没什么好说的。2. registerregister关键字要求编译器尽可能的把变量存储在CPU的寄存器中,而不是放在寻址访问的内存中。但是由于CPU的寄存器个数有限等原因,它只是要求编译器尽可能地吧变量啊放在寄存器中,而不原创 2013-05-14 22:45:19 · 1555 阅读 · 0 评论 -
几种string库函数的实现
1. strcpychar *strcpy(char *strDst, char *strSrc){ assert(strDst != NULL && strSrc != NULL); char *tmpDst = strDst; while((*tmpDst++ = *strSrc++) != '\0') ; return strDst;}2. strcat原创 2013-06-09 09:56:36 · 1189 阅读 · 0 评论 -
关于内存分配的几个例子
1. #include #include #include void GetMemory(char *p);void Test();int main(){ Test(); return 0;}void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( void ){ char *st原创 2013-06-09 10:41:03 · 1067 阅读 · 0 评论 -
关键字volatile和restrict
一、什么是volatile?上面是编译器优化volatile是一个类型修饰符,它的主要作用是防止编译器进行优化。那么什么是编译器优化呢,我们看两个个例子:例1: x = 0x04;x = 0x06;x = 0x08;对于硬件来说这是3条指令,依次执行,但是如果让编译器进行编译,则它会忽略前面两条语句,直接得到 x = 0x08;int i = 5, j, k;原创 2013-06-05 16:14:29 · 1750 阅读 · 0 评论 -
九大排序算法再总结
九大排序算法再总结分类: 【算法导论】2013-01-03 21:46 14723人阅读 评论(5) 收藏 举报目录(?)[+]如果要转载,需要注明出处: http://blog.youkuaiyun.com/xiazdong本文是 http://blog.youkuaiyun.com/xiazdong/article/details/73042转载 2014-09-15 17:23:28 · 1111 阅读 · 0 评论 -
内存分配(mallloc,calloc,realloc,new)
一、C/C++分配一块内存的方法有哪些:1.malloc: 原型 extern void *malloc(unsigned int num_bytes);2.new :C++特有,属于操作符,不是函数3.calloc:原型:void *calloc(unsigned n, unsigned size); 4.relloc:原型:extern void *reall原创 2013-06-07 19:27:45 · 1793 阅读 · 0 评论 -
浅谈《剑指offer》原题:不使用条件、循环语句求1+2+……+n
转载自:浅谈《剑指offer》原题:求1+2+……+n如侵犯您的版权,请联系:windeal12@qq.com转载 2014-09-15 17:11:11 · 1558 阅读 · 1 评论 -
获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf
转载请注明出处:windeal专栏Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq 结构体struct ifconf来获取网络接口的各种信息。ioctl首先看ioctl()用法ioctl()原型如下: #include int ioctl(int fd, int reque原创 2014-09-16 17:57:18 · 25335 阅读 · 0 评论 -
C语言正则表达式详解 regcomp() regexec() regfree()详解
Linux上一些函数库可以辅助C/C++程序员正则表达式的处理。 常用的接口有regcomp()、regexec()、regfree()和regerror(),C语言中使用正则表达式一般分为三步:编译正则表达式 regcomp()匹配正则表达式 regexec()释放正则表达式 regfree()转载 2016-10-26 08:57:47 · 8219 阅读 · 0 评论