
C
逐鹿之城
闷头做技术是学而不思则惘,整天瞎扯淡是思而不学则怠
展开
-
C和指针#2.8编程练习
1.题目1: increment.c-->int increment(int) negate.c-->int negate(int)main.c-->void main()编辑好后,在linux用命令gcc main.c increment.c negate.c -o main即可,主要考察编译和链接C程序的命令。//increment.c#include<stdio.h>int i原创 2017-01-24 22:55:28 · 465 阅读 · 0 评论 -
C/C++中程序内存区域划分大总结
程序由代码和数据组成,其中代码存储在代码区中,数据根据类型的不同存储在不同的区域中。本文分别介绍了C和C++中内存区域的划分。C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的所有功能。我们在这里为大家介绍的是其中一个比较重要的内容,C和C++内存区域的划分。一、 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分转载 2016-03-28 19:24:05 · 9530 阅读 · 9 评论 -
#、##和__VA_ARGS__
讲述以下C语言中预处理以及C99新增的可变参数的宏__VA__ARGS__转载 2017-05-18 20:02:46 · 305 阅读 · 0 评论 -
C语言清除缓冲区的函数
C语言中清除内存缓冲区的函数是fflush( ),清除输入缓冲区用fflush(stdin); 其中stdin表示标准输入。该函数通常用在输入类函数的前面,用以清除输入缓冲区中的内容,避免接收到上次残留的内容而出错。 但是ffplush不是标准库函数,在gcc下是不支持的,笔者通过许多网上的例子亲测,只有在VC6.0编译器下,fflush才能完成它的正常功能。 fflush()用于清空文件缓冲原创 2017-03-31 17:54:36 · 10194 阅读 · 1 评论 -
系统API接口库中的STDIN_FILENO介绍以及与stdin的区分
dup/dup2有时会看到这样的参数STDIN_FILENO1.STDIN_FILENO的作用STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。2.区别1)数据类翻译 2017-03-12 21:25:20 · 946 阅读 · 0 评论 -
dup和dup2函数介绍
//河中得上龙门去,不叹江湖岁月深。这一篇和操作系统提供的API接口库结合为The summary of IPC——pipe作准备 1.dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的原形如下:int dup(int fildes);int dup2(int fildes, int fil翻译 2017-03-12 21:21:52 · 547 阅读 · 1 评论 -
#define定义的常值与const常量辨析
引用UNIX网络编程第一卷严格的说,#define伪命令定义的称为常数;用const限定词定义并初始化的对象称为常量(相对变量而言)。区别主要在于常数的值在编译时确定,常量的值在运行时初始化后确定(不过此后只能作为右值使用) 不过”常数”的叫法会让人狭义的理解成只是一个数而已,所以更好的叫法应该是”常值”原创 2017-03-28 11:49:56 · 1115 阅读 · 0 评论 -
算法--递归与分治策略
一.递归的概念 一个直接或间接调用自身的算法叫做递归算法。即自己调用自己。 递归的关键点在结束条件。 二.通过例子看递归 1.求数的阶乘 数学公式:0!,1!-->1这可以作为递归结束的判断条件//递归形式实现数的阶乘int Factorial(int n){ if(n == 0 || n == 1) //0和1作为递归结束的条件 return 1;原创 2017-02-06 16:35:36 · 906 阅读 · 1 评论 -
typedef用法汇总
也许新手用这个关键字不多,但它却是一个很有用的关键字,可以使代码模块化程度更好(即与其它代码的关联较少),在C++中还是实现Traits技术的基础,也是模板编程的基本语法之一。若说变量定义是为变量命名,而typedef(或称为类型定义)就是为类型命名。既然都是命名,那就会有很多类似的地方。而变量定义我想大家都会使用,因此类型定义也必然会使用。类型定义的语法可以归结为一句话:只要在变量定义前面加上ty转载 2016-05-07 20:55:18 · 1309 阅读 · 0 评论 -
C++ Learning——Build a simple&little RB_Tree
Why would we go to such ludicrous lebgths to explain the RB_TREE? 《STL源码剖析》上给了我们一个很好的解释:(见202页) 所谓树形平衡与否,并没有一个绝对的测量标准。“平衡”的大致意义是:没有一个节点过深(深度即就是“根节点至任一节点的路径长度,即所谓该节点的深度”,在数值上与路径长度相等)。不同的平衡条件,造就出不同的原创 2016-05-08 21:39:53 · 716 阅读 · 1 评论 -
main函数参数的用法
main函数中两个参数的用法MSDN6.0中写道: argc is An integer specifying how many arguments are passed to the program from the command line. Because the program name is considered an argument, argc is at least 1.转载 2016-05-19 17:07:24 · 1431 阅读 · 0 评论 -
C_basic_summary--各种类型数据所占字节数
/*记不住罚站奥*/原创 2016-06-07 21:09:40 · 514 阅读 · 0 评论 -
给一道关于const的面试题
/*题目:请声明一个指针,其所指向的内存地址不能改变,但内存中的值可以被改变A.const int const *x = &y;B.int * const x = &y;C.const int *x = &y;D.const int * const x = &y;*///正确答案B技巧:(1)const若在*的左边,则是内存中的值不可变(2)const若在*的右边,则是所指向的内存地原创 2016-06-07 22:00:37 · 1478 阅读 · 0 评论 -
方便又官方的字符串处理函数及内存函数的实现
1.介绍: 实现了字符串一些处理函数,如strlen/strcpy/strcmp/strcat/memset/memcpy/memcmp/memmove主要借鉴了linux内核的实现方法,其中strlen函数给出了不定义第三方变量实现的方法,详细的代码在我的github里,供大家借鉴/*实现各字符串处理的函数**2016-11-24*/#include<iostream>#include<原创 2016-11-26 20:30:54 · 784 阅读 · 0 评论 -
C和指针#2.2词法规则
一.字符1.三字母词/三元符(trigrph)#include<iostream>using namespace std;int main(){ cout<<"??("<<endl; cout<<"??<"<<endl; cout<<"??="<<endl; cout<<"??)"<<endl; cout<<"??>"<<endl; cout<<原创 2017-01-24 14:52:27 · 578 阅读 · 0 评论 -
写一个守护进程+cpu占用率在20%波动的程序
1.cpu占用率在20%波动的程序怎么写//makecpu.cvoid makeCpu(){ int time_start; int fulltime = 100;//总时间 int runtime = 20;//运行时间 while(1){ time_start = clock(); while((clock()-time_s...原创 2018-11-16 15:45:42 · 884 阅读 · 0 评论