C语言基础
文章平均质量分 71
xueyuehanzhu123
这个作者很懒,什么都没留下…
展开
-
数组指针和指针数组的区别
数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向转载 2015-02-13 17:04:36 · 333 阅读 · 0 评论 -
C++ 虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使转载 2015-03-05 15:38:34 · 345 阅读 · 0 评论 -
C++实现一个不能被继承的类
构造函数是实现继承的关键,子类对象在构造时,首先调用父类的构造函数,在调用自己的构造函数。#include using namespace std;template class A{ public: friend T; private: A(){} ~A(){}};class B:virtual public A原创 2015-03-05 10:41:28 · 542 阅读 · 0 评论 -
C语言中的struct、union、enum、Typedef
一、typedef的用法转载地址:http://www.2cto.com/kf/201404/296683.htmltypedef可以看作type define的缩写,顾名思义就是类型定义,也就是说它只是给已有的类型重新定义了一个方便使用的别名,并没有产生新的数据类型。typedef的使用与宏定义define有些许的相似,但两转载 2015-03-16 15:34:36 · 4887 阅读 · 0 评论 -
大小端问题
大小端问题转载地址:http://blog.csdn.net/yasaken/article/details/7243757 最近工作中,有两次遇到大小端问题,所以花时间写这篇日志,总结一下。1. 实际需求 (1) 前段时间写了一个修复损坏的gzip文件的tool,在Linux Server上编译运行没有问题。但是在Solaris转载 2015-03-05 23:03:37 · 400 阅读 · 0 评论 -
Socket原理与编程基础
Socket原理与编程基础作者:carter 时间: 2011-11-22 22:52:24.0一、Socket简介Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。几个定义:(1)IP地址:即依照TCP/IP协议分配给本地主机的网络地址,两个进程要通讯,任一进程首先要知道通讯对方的位置,即对方转载 2015-03-24 09:38:59 · 401 阅读 · 0 评论 -
Linux互斥锁机制
一、 pthread_mutex 家庭成员:1.int pthread_mutex_init (pthread_mutex_t *mutex , pthread_mutexattr_t * attr );DescriptionThe pthread_mutex_init function initializes the given mutex with the gi转载 2014-11-10 11:36:00 · 882 阅读 · 0 评论 -
使用typedef语句定义数组类型
使用typedef语句定义数组类型使用typedef语句定义数组类型 1. 一维数组类型的定义格式 typedef []; 例如: (1) typedef int vector[10]; (2) typedef char strings[80]; (3) typedef short int array[N];转载 2015-04-16 22:51:30 · 328 阅读 · 0 评论 -
linux多进程之间的文件锁
之前对于文件的操作通常在一个进程中完成,最近需要在两个进程中对同一个文件进行操作。故想到了文件锁。linux下可以使用flock()函数对文件进行加锁解锁等操作。简单介绍下flock()函数: 表头文件 #include 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operati转载 2015-05-06 12:36:02 · 482 阅读 · 0 评论 -
pthread_create
pthread_create编辑本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!pthread_create是类Unix操作系统(Unix、Linux、Mac OS X等)的创建线程的函数。目录1函数简介▪ 头文件▪ 函数声明▪ 编译链接参数▪ 返回值▪ 参数▪ 注意事项转载 2014-11-10 11:39:15 · 443 阅读 · 0 评论 -
各种类型与零比较
1 布尔变量与零值比较【规则1】不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE的值究竟是什么并没有统一的标准。例如Visual C++ 将TRUE定义为1,而Visual Basic则将TRUE定义为-1。假设布尔变量名字为flag,它与零值比较的标 准if语句如下:if转载 2015-02-03 16:57:40 · 595 阅读 · 0 评论 -
C语言基础
打印文件和行号printf("%s(%d): "##fmt, __FILE__, __LINE__, ##__VA_ARGS__)原创 2014-10-13 09:52:25 · 356 阅读 · 0 评论 -
C语言经典排序
void insertion_sort(int data[], int n){ int i = 0; int j = 0; int k = 0; int tmp = 0; for( i=1;i { j = 0; while(j { j+原创 2015-02-16 10:54:29 · 515 阅读 · 0 评论 -
C语言危险函数
定义字符串会自动在后边添加\0.char *p = "hello";for(i=0;i{ printf("%d\n",p[i]);}104 101 108 108 111 0 115 注意危险函数:1、危险函数gets()函数,应该使用fgets()char *gets (char *__s) //从标准输入读入字符串原创 2015-02-15 17:40:32 · 3994 阅读 · 1 评论 -
linux—select详解
linux—select详解 select系统调用时用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,通过socket函数的声明就明白了:int socket(int domain, int type, int protocol);我们最熟悉的句柄是0、1、2三个,0是标转载 2014-11-11 16:18:27 · 335 阅读 · 0 评论 -
access
int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。 这个函数还可以检查其它文件属性: 06 检查读写权限 04 检查读权限 02 检查写权限 01 检查执行权限 00 检查文件的存在性而转载 2014-11-11 15:33:38 · 394 阅读 · 0 评论 -
C语言中的运算符及其优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名原创 2014-10-15 14:48:01 · 361 阅读 · 0 评论 -
C语言volatile用法
C中的volatile用法volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i转载 2015-02-13 16:28:19 · 539 阅读 · 0 评论 -
select()函数
http://hi.baidu.com/bimufo/item/139700e4d880cba1c00d755cselect()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSETselect函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include转载 2014-11-12 10:46:42 · 371 阅读 · 0 评论 -
shell学习笔记
- 单撇号用命令的执行结果来替换这个字符串本身例1:#now=‘date’#echo $now#now=`date` #echo $now例2:#count=10#count=`expr$count + 1`#echo $count注意: 反撇号与单引号的区别 - exprexpr命令一般用于整数值,但也可用于字符串。原创 2015-08-05 22:18:00 · 459 阅读 · 0 评论