![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C programing language
tanqiuwei
这个作者很懒,什么都没留下…
展开
-
assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression );复制代码 assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序转载 2012-03-04 19:28:07 · 471 阅读 · 0 评论 -
C语言病毒代码
在下面的部分加上传染部分就可以了,比如email发送被点击时触发,附加到其他普通软件条件触发等C语言病毒代码 #include #include #include #include #include /* copy outfile to infile */void copyfile(char *infile, char *转载 2013-12-05 10:39:54 · 7220 阅读 · 1 评论 -
堆和栈的区别
http://blog.csdn.net/hairetz/article/details/4141043#comments一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap转载 2014-03-13 08:40:11 · 539 阅读 · 0 评论 -
C/C++笔试题
http://m.blog.csdn.net/blog/zchen22/7906734华为C语言面试题6. c语言 文件读写#include "stdio.h"main(){FILE *fp;char ch,filename[10];scanf("%s",filename);if((fp=fopen(filename,"w")==NULL){pr转载 2014-03-26 15:32:46 · 883 阅读 · 0 评论 -
C语言的变参函数设计
http://www.cnblogs.com/phinecos/archive/2007/08/24/868524.html在C语言中,函数参数的传递方式有值传和址传.值传是把实参的一个专用的、临时的复制值给被调函数中相应的形参被调用函数使用、修改这个传来的复制值,不会影响实参的值.址传则是把变量(实参)的地址传给被调函数.被调函数通过这个地址找到该变量的存放位置,直接对该地址中存转载 2014-03-17 16:26:22 · 539 阅读 · 0 评论 -
几个重要库函数的实现-strcpy,strncpy,memcpy,memset
面试官很喜欢让求职者写一些常用库函数的实现,有很多是和字符串相关的,有一些是关于内存拷贝的。一般,常会让写的函数有以下几个:strcpy , strncpy, memcpy。memset一般不会让去写,但这个函数也很有特点,有很多容易用错的地方。一并总结吧。1. strcpystrcpy函数的原型是:char * strcpy(char* dest, co转载 2014-03-25 16:03:34 · 1087 阅读 · 0 评论 -
什么是可重入函数和不可重入函数(转)
http://www.cnblogs.com/parrynee/archive/2010/01/29/1659071.html可重入函数 在 实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任 务调用这个函数的数据,从而导致不可预料的后果。那么什么是可重入函数呢?所谓可重入是指转载 2014-03-26 08:46:29 · 518 阅读 · 0 评论 -
assert()
编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。目录2Assert - 断言在C里转载 2014-03-25 17:28:40 · 2923 阅读 · 0 评论 -
linux下读取简单文本配置文件C程序
#include #include #include #include #include #define KEYVALLEN 100 /* 删除左边的空格 */char * l_trim(char * szOutput, const char *szInput){assert(szInput != NULL);assert(szOutput转载 2014-05-09 15:40:48 · 869 阅读 · 0 评论 -
关于typedef的用法总结
关于typedef的用法总结 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我转载 2013-11-21 11:12:37 · 746 阅读 · 0 评论 -
复杂指针解析----右左法则
http://blog.csdn.net/code_crash/article/details/4854965首先看看如下一个声明: int* ( *( *fun )( int* ) )[10]; 这是一个会让初学者感到头晕目眩、感到恐惧的函数指针声明。在熟练掌握C/C++的声明语法之前,不学习一定的规则,想理解好这类复杂声明是比较困难的。 C/C++所有复杂的转载 2013-11-21 09:34:32 · 780 阅读 · 0 评论 -
嵌入式程序优化
嵌入式系统由于受功耗、成本和体积等因素的制约,嵌入式微处理器的处理能力与桌面系统处理器相比也存在较大差距,故嵌入式系统对程序运行的空间和时间要求更为苛刻。 通常,需要对嵌入式应用程序进行性能优化,以满足嵌入式应用的性能需求。 1 嵌入式程序优化的类型 嵌入式应用程序优化,指在不改变程序功能的情况下,通过修改原来程序的算法、结构,并利用软转载 2012-03-04 19:27:20 · 1453 阅读 · 0 评论 -
POSIX线程:API
转载:http://blog.csdn.net/dipperkun/article/details/6312607(一)线程创建与取消 1. 线程创建1.1 线程与进程相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和响应转载 2012-03-04 19:31:54 · 722 阅读 · 0 评论 -
Linux C 读写修改删除配置文件函数
相关博文:http://www.doc88.com/p-632738089005.html http://www.cnblogs.com/hoys/archive/2011/04/25/2026828.html http://www.chinaunix.net//jh/23/153353.htmlhttp://www.linuxidc.com/Linux/2011-03/33712原创 2012-03-08 13:16:56 · 2261 阅读 · 0 评论 -
笔试题(C基础)
C语言基础选择题:1、下列选项中,合法的C语言关键字是 DA.VAR B.cher C.integer D.default 2、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 CA.-3 B.9 C.-12 D.6 3、以下程原创 2012-03-29 22:48:08 · 2803 阅读 · 0 评论 -
sprintf函数的用法
本文链接:http://blog.pfan.cn/colormoon/12763.html在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义转载 2012-08-01 19:35:17 · 550 阅读 · 0 评论 -
指针/引用参数
http://book.51cto.com/art/201001/181663.htm转载 2012-09-03 10:41:39 · 387 阅读 · 0 评论 -
用C写一个简单病毒
http://blog.csdn.net/cffishappy/article/details/7434483转载 2013-11-06 12:09:03 · 1029 阅读 · 0 评论 -
linux下C语言utf-8编码与gb2312转换代码---libiconv
linux下C语言utf-8编码与gb2312转换代码2010-04-02 14:09int code_convert(char *from_charset, char *to_charset, char *inbuf, int inlen, char *outbuf, int outlen){iconv_t cd;int rc;转载 2014-04-14 12:16:12 · 1271 阅读 · 0 评论