C
文章平均质量分 64
sweety_L
sweety
展开
-
C中的字符类型
(图片来自> 2.1)原创 2014-01-10 10:16:09 · 863 阅读 · 0 评论 -
<<C标准库>>:<limits.h>
本文的内容参考>该标准库规定了整形数字的取值范围,浮点形的数字的取值范围在头文件中规定.可以通过两种方式来使用一 假设要表示某个值在VAL_MIN 和VAL_MAX 之间的有符号数据,可以通过如下代码来防止程序出现翻译错误:#include #include #if VAL_MIN INT_MAX#error values out of range#endif然后就可以原创 2014-01-10 13:13:24 · 877 阅读 · 0 评论 -
<<C标准库>>: <math.h>
本文的内容参考> math函数的目标和使用指南一每个函数产生的结果都要具有56位的精度二每一个函数都应该能接受定义域内的所有参数值.对于其它所有参数都应该报告定义域错误,并返回一个表示非数字的特殊编码NaN三 对于一个具体的值,函数应该产生一个确定的结果.对于所有太大或者太小而不能表示的值,报告值域错误.结果数值过大,函数返回一个表示正无穷大的编码+Inf原创 2014-01-10 14:26:39 · 1062 阅读 · 0 评论 -
大牛们是这样解释程序的存储空间和内存分配的
一直堆进程的存储区分配和堆栈认识比较模糊,今天看了下>,> ,还有>有关这方面的解释.综合综合这三本书的解释,对C程序的内存分配才有了更清楚的认识. 我把这些内容贴出来和大家一起分享.(这三本书的中英文版我都有,需要的朋友可以留下邮箱)>的解释一个标准C程序的数据对象占据一下三种类型的存储空间:①: 程序开始执行前分配静态存储空间并进行初始化.如果没有指定一个数原创 2014-01-10 21:51:33 · 3463 阅读 · 1 评论 -
如何学习C语言
漫谈C语言及如何学习C语言原文链接:http://sunxiunan.com/?p=1661漫谈C语言及如何学习C语言云风最近写了一篇博客《C语言的前世今生》。作为长期使用C语言开发网络游戏服务器的程序员,云风是有理由写这样一篇文字,不过还是感觉谈的不够深入,C语言在业界使用的现状没有怎么描写,有些意犹未尽。在这里想比较系统的谈谈个人对C语言学习方式方法的理解。分别转载 2013-12-27 16:15:20 · 1294 阅读 · 0 评论 -
如何学好C语言
原文链接:http://coolshell.cn/articles/4102.html我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子。比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是对于程序员来说可能并不太好,原因有两个:虚拟机屏蔽了操作系统的系统调用,以及很多底层机制。转载 2013-12-27 16:30:58 · 636 阅读 · 0 评论 -
ANSI C语言中的全部转义字符
\a =====>响铃符\r =====>回车符\f ======>换页符\b ======> 回退符\t =====>制表符(横向)\v =====>制表符(纵向)\\ ======>反斜杠\? ======>问号\' =======>单引号\" =======>双引号\ooo =====>八进制数\xhh ======>十六进制数原创 2013-12-27 22:29:40 · 1628 阅读 · 0 评论 -
什么是堆
光有栈对于面向过程的程序设计还远远不够,因为站上的数据在函数返回的时候就会被释放掉,所以无法将数据传递到函数外部.而全局变量没办法动态的产生,只能在编译的时候定义,缺乏表现力.在这种情况下,堆是唯一的选择.堆是一块巨大的内存空间,常常占据整个虚拟空间的绝大部分.在这片空间里,程序可以请求一块连续内存,并自由使用,这块内存在主动释放前都一直有效.通过malloc可以为程序申请分配堆空原创 2014-01-13 10:01:41 · 1226 阅读 · 0 评论 -
源程序的编译过程
内容来自> 非常好的书.编译过程一般分为6个步骤:扫描:源代码程序被输入到扫描器(Scanner),扫描器的任务很简单,他只是进行词法分析,将源码中的字符序列分割成一系列记号;词法分析产生的记号一般可以分为如下几类: 关键字,标识符,字面量(数字字符串等),和特殊符号(如 加号 ,减号等).在扫描器识别记号的同时,也完成了其他的工作.比如将标原创 2014-01-12 21:20:33 · 2994 阅读 · 0 评论 -
FILE,文件句柄,打开文件列表和内核文件对象的关系
对于计算机来说,I/O代表了计算机与外界的交互,交互的对象可以是人或其他设备.而对于程序来说,I/O涵盖的范围更广.一个程序的I/O指代了程序与外界的交互,包括文件,管道,网络,命令行.I/O指代任何操作系统理解为文件的事务.许多操作系统都将各种具有输入和输出该鸟的实体—包括设备,磁盘文件,命令行等统称为文件.C语言文件操作通过一个FILE结构的指针来进行.fopen()函数返回一原创 2014-01-16 21:19:25 · 2262 阅读 · 0 评论 -
异常控制流
异常控制流:从个处理器加电开始,知道断电为止,程序计数器假设一个序列的值 a0 ,a1 ,a2 …..an-1 其中每个ak是某个相应地指令I k的地址,每次从ak到ak+1的过度称为控制转移.这样的控制转移叫做处理器的控制流(control flow). 最简单的一种控制流是一种平滑的序列,其中Ik和Ik+1在存储器中都是相邻的. 这种平滑的突变,也就是Ik+1与IK不相邻,是由诸原创 2013-12-18 20:36:56 · 976 阅读 · 0 评论 -
链接和共享库
链接:链接就是将不同部分的代码和数据集合成一个单一文件的过程,这个文件可以被加载(或者被拷贝)到存储器并执行。链接可执行于编译时(compile time) 也就是源代码被翻译成机器代码时;也可以执行于加载时(load time),也就是程序被加载器加载到存储器并执行时;甚至执行于运行时(run time),由应用程序来执行。为了构造可执行文件,连接器必须完成两个主要任务:符号解析。目标文件定义和原创 2013-12-17 21:26:28 · 1350 阅读 · 1 评论 -
C语言版cat小程序
#include #include void _filecopy(FILE *fp_in, FILE * fp_out);int main(int argc , char * argv[]){ FILE * fp; char *prog = argv[0] ; //指定的错误输出文件名; if( argc == 1 ) //没有指定打开文件,把标准输入复制到标准输出 _fi原创 2013-12-29 21:40:00 · 833 阅读 · 0 评论 -
C语言mini版grep程序
#include #include #define MAXLINE 1000int _getline(char *line ,int max);int main(int argc , char ** argv){ char line[MAXLINE]; int found = 0 ; if(argc !=2 ) printf("Usage: find pattern:原创 2013-12-29 21:44:13 · 1214 阅读 · 0 评论 -
grtline.c
#include #define MAXLINE 1000 // getline : read a line into s , return length of the line int _getline(char s[], int lim){ int c, i ; for ( i = 0 ; i < lim-1 && (c = getchar()) != EOF && c !=原创 2013-12-29 21:45:33 · 732 阅读 · 0 评论 -
fgets 和fputs函数
/* * 库函数fgets * char *fgets(char *line ,int maxline , FILE *fp) ; *fp指向的从文件读取下一个输入行(包括换行符) ,并将它存放在字符数组中; * 一行最多可读取maxline-1个字符,读取的行以'\0'结尾保存在字符数组中 * */char * fgets(char *s, int maxline ,FILE *原创 2013-12-29 23:50:27 · 1240 阅读 · 0 评论 -
C语言的文件操作
“文件”是指存储在计算机外部存储器中的数据的集合。计 算机根据⽂文件的名字,完成对⽂文件的操作C语⾔言将⽂文件看作是字符构成的序列,即字符流。其基本 的存储单位是字节。⽂文件的读写操作函数,它们都在头⽂文 件stdio.h定义的:• 按字符读写的函数fgetc()、fputc()• 按字符串读写的函数fgets()、fputs()• 按格式要求读写的函数fprintf()、原创 2013-12-30 23:11:20 · 1035 阅读 · 0 评论 -
stat函数和文件类型
文件和目录stat ,fstat , lstat#include stat 函数int stat (const char * restirct pathname ,struct stat * restrict buf)int fstat(int filedes , struct stat * buf)int lstat(const char *restrict pathn原创 2013-12-31 21:42:39 · 1583 阅读 · 0 评论 -
系统的文件访问权限测试
文件访问权限测试当open函数打开一个文件是,内核以进程的有效用户ID和有效组ID为基础执行有效权限的访问测试.access函数按照实际用户ID和实际组ID进行访问权限测试:#include int access(const char * pathname ,int mode); 返回0(成功) 或者返回-1(失败)mode常量的说明 (在头文件中定义)R_OK ====>测试读原创 2013-12-31 22:08:21 · 1155 阅读 · 0 评论 -
C标准库定义的UNIX系统的基本数据类型
基本系统数据类型:某些UNIX系统变量与C的数据类型联系在一起.在头文件中定义了某些与实现有关的数据类型,它们被称为基本数据类型.还有很多这种数据类型定义在其它头文件中.在头文件中,这些数据类型都是用C的typedef来定义的.它们大多数以_t结尾:类型 ==== > 说明caddr_t ===> 核心地址clock_t ===>时钟滴答计数器(进程时间)com原创 2013-12-31 22:09:14 · 1372 阅读 · 0 评论 -
自引用结构体及其陷阱
结构的自引用:struct self_ref{int a ;struct self_ref b;int c ; };上面的自引用是非法的,因为成员b是一个完整的结构,器内部还将包含它自己的成员b.这样会导致无限重复包含自身.struct self_ref{int a;struct self_ref原创 2014-01-26 20:12:28 · 1547 阅读 · 0 评论