C语言
HappinessLee
专注音视频
展开
-
关于 for (;;) 与 while (1) 两种死循环的区别
for (;;); 与 while (1) ;这两个语句都是死循环语句但是国外的一些高手门 向来都只是使用for (;;) ; 而不使用while 。。最近有朋友来信询问原由。这里截图给您说明一下~这是vs2008的反汇编截图while的for的大家有没有发现while的汇编代码比较多 也就是执行时间长 效率不高~那是不是真的所有编译转载 2012-10-30 16:23:00 · 9043 阅读 · 0 评论 -
从指定字符串里提需要的数据
#include #include //函数作用:从指定字符串里提取你要的数据//参数说明://pSourc:源串指针//pHeaderTail:起始和结尾标识字符,这里只能包含两个字符//pResult:存放结果数据的指针int ExtractData(const char *pSourc, const char *pHeader转载 2015-06-17 11:34:26 · 637 阅读 · 0 评论 -
tinyxml使用
现在越来越多的数据和配置采用了xml格式来存放和进行传输解析了。在c++方面,没有本地支持的库,所以需要我们自己去找一下。微软的msxml说实话,确实不咋地,尤其是com的类型变量名字一直指针,让众人看上去就比较反感。开源的tinyxml在这方便做的还不错。简单介绍下使用过程的一点小经验。在这里发下牢骚,VC6.0以后的各个版本的VS环境对于C++的智能感知都是那么的SB,不管你怎么配置,转载 2014-12-05 10:40:10 · 933 阅读 · 0 评论 -
C语言 复杂指针的申明问题 数组指针 指针数组 函数指针 指针函数
首先,看如下8个题,如果您能不看任何资料的情况下做对。那么恭喜您,这块应该基本没问题了。因为再复杂的组合都是从这上面8种里变出来的。1,定义一个整形数2,定义一个指向整形数的指针3,定义一个指向指针的指针,它指向的指针,是一个指向整形数的指针4,定义一个具有10个整形数的数组5,定义一个具有10个指针的数组,这些指针都是指向整形数的6,定义一个指向有10个整形数 数组的指针转载 2013-08-06 11:18:19 · 881 阅读 · 0 评论 -
内存操作(指针,变量的生存期及作用范围,良好的动态内存申请和释放习惯)
首先看看几个容易出错的问题:(1)void GetMemory( char *p ) { p = (char *) malloc( 100 ); } void Test( void ) { char *str = NULL; GetMemory( s转载 2013-08-05 17:35:42 · 1132 阅读 · 0 评论 -
C语言结构体的字节对齐原则
为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开转载 2013-07-19 16:03:40 · 845 阅读 · 0 评论 -
堆 和 栈的 区别(经典)
堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵转载 2013-07-15 10:24:38 · 771 阅读 · 0 评论 -
source insight的查找功能
source insight是一款很好的c语言的程序编辑器,方便对project管理,方便程序的阅读和编辑。查找功能使用十分频繁,选项较多,与其它软件的查找功能也类似,下面对英文版的查找功能,做简单说明:查找参数:whole words only : 全字匹配查找case sensitive : 区分大小写转载 2013-04-08 11:31:37 · 2453 阅读 · 0 评论 -
Linux信号机制之sigaction结构体浅析
信号安装函数sigaction(int signum,const struct sigaction *act,struct sigaction *oldact)的第二个参数是一个指向sigaction结构的指针(结构体名称与函数名一样,千万别弄混淆了)。在结构sigaction的实例中,指定了对特定信号的处理,信号所传递的信息,信号处理函数执行过程中应屏蔽掉哪些函数等。当然,此指针也可以为NULL转载 2012-12-11 09:41:47 · 712 阅读 · 0 评论 -
pthread_create()函数用法
linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread。#include int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, voi转载 2012-11-21 10:59:24 · 16302 阅读 · 0 评论 -
select系统调用与FD_SET,FD_ISSET,FD_ZERO
在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。 select()的调用形式为: #include #include int select(int maxfd, fd_set *readfds, fd_set *wr转载 2012-11-21 14:40:07 · 1219 阅读 · 0 评论 -
gSoap
gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多。绝大多数的 C++web服务工具包提供一组API函数类库来处理特定的SOAP数据结构,这样就使得用户必须改变程序结构来适应相关的类库。与之相反,gSOAP 利用编译器技术提供了一组透明化的SOAP API,并将与开发无关的SOAP实现细节相关的内转载 2012-11-27 10:25:57 · 3865 阅读 · 0 评论 -
c语言链表-学生成绩管理系统
大学时候用链表写的成绩管理系统,可实现增删查改的功能,代码如下#include#include#include#include#define L sizeof( struct student )struct student{long xuehao;char name[20]; float shudian;float english;f原创 2015-09-11 16:47:28 · 5824 阅读 · 0 评论